sql限制字元串的長度
Ⅰ sqlserver中 varchar 最大長度是多少
最大長度8000,用max可以存儲達到2G。
例如:
varchar [ ( n | max) ]
可變長度,非 Unicode 字元數據。n 的取值范圍為 1 至 8,000。max 指示最大存儲大小是 2^31-1 個位元組。
在某些情況下,前台應用對過長的字串是無法正確處理的,比如一些表格控制,比如C++定義的字元串變數。
(1)sql限制字元串的長度擴展閱讀:
注意事項
存儲限制
varchar 欄位是將實際內容單獨存儲在聚簇索引之外,內容開頭用1到2個位元組表示實際長度(長度超過255時需要2個位元組),因此最大長度不能超過65535。
1、編碼長度限制
字元類型若為gbk,每個字元最多佔2個位元組,最大長度不能超過32766;
字元類型若為utf8,每個字元最多佔3個位元組,最大長度不能超過21845。
若定義的時候超過上述限制,則varchar欄位會被強行轉為text類型,並產生warning。
2、行長度限制
導致實際應用中varchar長度限制的是一個行定義的長度。 MySQL要求一個行的定義長度不能超過65535。若定義的表長度超過這個值,則提示
ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。
Ⅱ oracle動態執行SQL字元串,字元串最大的長度是多少
定義成varchar2的話最大的長度就是 32767,最好不要超過32000
Ⅲ insertselectvarchar長度限制
insertselectvarchar長度限制是10。
當varchar超過限制長度時,1.如果當前的SQL模式為寬松模式,那麼將會按照從前往後的順序,對字元串進行截斷,並提示一個警告;2.如果當前的SQL模式為嚴格模式,那麼將會報出一個錯誤。
從SQLServer2005開始,引入了varchar(max)/nvarchar(max)數據類型,表中可不使用LOB數據類型而突破單列8000/4000字元的限制,動態SQL也可以拼接得更長;但查看這類字元的時候,在某些地方,字元長度的限制仍然存在,比如:
單列:SSMS里返回的列值。
動態SQL:print命令列印字元時。