"将varchar值'NULL'转换为数据类型int时转换失败"

8 sql-server

当我将记录插入长表时,我收到错误"将varchar值'NULL'转换为数据类型int时转换失败"如何确定哪些列错误?

该表有许多字段和数百万条记录.当我尝试在某处将"NULL"字符串插入整数列时,每次迭代需要10分钟才能完成.我以为SQL服务器可以告诉我列的确切名称:(

G M*_*ros 12

如果值是真的NULL,则不会出现转换错误.但是,你有一个string ="NULL"然后你会得到这个错误.

你能做的是......

NullIf(YourValueHere, 'NULL')
Run Code Online (Sandbox Code Playgroud)

NullIf如果第一个参数与第二个参数不同,则返回第一个参数的值.如果参数相同,NullIf将返回NULL.

例如:

Select NullIf('Any Value', 'NULL')

Select NullIf('null','null')
Run Code Online (Sandbox Code Playgroud)

第一个将返回'Any Value',第二个将返回NULL(不是'null')


Rob*_*rth 4

开始一次一个地评论一些内容,直到它停止轰炸为止。或者,查看一下您传递的 int 列的哪个值是 NULL。