sqlservermax
『壹』 sql server中的nvarchar最大的長度是4000個字嗎
1、在SQL2000版本中,最大長度是4000。
2、在SQL2005及以上版本中,最大長度是2G,本人實測,SQL2008中,將測試資料庫中一個欄位定義為nvarchar(max),然後使用以下SQL語句。
UPDATEA13SET[科室]=[科室]+[科室]--科室欄位定義為nvarchar(max)
SELECTLEN([科室])FROMA13
--運行結果
--長度
--83886080
連繼N次重復運行後科室欄位的長度已達嚇人的84M,到底多大,有興趣可以自個試試,不過,越大執行速度會越慢哦。
3、注意,在某些情況下,前台應用對過長的字串是無法正確處理的,比如一些表格控制,比如C++定義的字元串變數。
『貳』 在SQL中可以使用MAX函數取兩個數中較大的一個數嗎 在線等啊
在 SQL中 max 是聚合函數,只能在某列上聚合求最大值,不能像在.net里頭的max(a,b)方法來求最大值。
可以使用 case when .
select case when a> b then a else b end as max_value from table
『叄』 hibernate 映射 sqlserver varchar(max)類型
有關SQLServer中varchar和nvarchar的區別可以直接去google。一般在中文系統中應該使用nvarchar作為字元串的對應類型,但是Hibernate中的默認實現SQLServerDialect使用了varchar。以下方法可以簡單地轉為使用nvarchar:
自己寫一個dialect,繼承SQLServerDialect,在構造器中將原先varchar類型的注冊聲明覆蓋:
registerColumnType(Types.VARCHAR, "nvarchar($l)");
千萬注意,「$」後面的是欄位長度的佔位符,是「l(ength)」,而不是數字「1」(因為看hibernate的doc時沒分清「l」和「1」,浪費了我一上午去找原因)
然後在hibernate的配置文件中將hibernate.dialect的值設為你的dialect實現類就OK了