SQL SERVER 字符超長時報錯:將截斷字符串或二進制數據。LEN&DATALENGTH
當出現這種錯誤時,代表字符長度超出了表字段允許的最大長度。
就需要查看是哪個字段超長了。
如果表字段類型為char / varchar:
1、字符內容不包含中文,那么既可以使用 len,也可以使用 datalength 來檢測字符的長度
2、字符內容包含中文,那么則需要使用 datalength 來檢測字符的長度
if object_id('t') is not null drop table t; create table t(col varchar(2)) insert t values('中') --能正常插入 insert t values('中a') --報錯:將截斷字符串或二進制數據
如果表字段類型為 nchar / nvarchar: 那么 則需要使用 LEN 來檢測字符的長度。
if object_id('t') is not null drop table t; create table t(col nvarchar(1)) insert t values('ab')
以上代碼會報錯:將截斷字符串或二進制數據。

浙公網安備 33010602011771號