我遇到了一个我使用CAST(Col1 AS INT) + CAST(Col2 AS INT)Col1和Col2 的错误,VARCHAR当Col1或Col2空白时我得到了有效的结果,我没想到这个.我检查过,CAST(和CONVERT)都有这种用0替换空白的默认行为:
SELECT CAST('' AS INT)
SELECT CONVERT(INT, '')
Run Code Online (Sandbox Code Playgroud)
我检查了信息页面,我看不到任何引用来解释为什么这是行为(或通过服务器设置更改它).我当然可以解决这个问题,但我想问为什么这是行为,因为我不认为它是直观的.
我实际上宁愿CAST失败或给予NULL,是否有一个服务器设置在哪里影响这个?
sql-server ×1