在尝试使用MSSQL时,我遇到了一些我无法解释的行为.
我在查看将NULL值添加到varchar时会发生什么,以及当我执行以下查询时:
SELECT
ISNULL(NULL + ' ', 'test')
Run Code Online (Sandbox Code Playgroud)
我得到结果'te'.同样,如果我为任何其他单词更改单词test,我只会得到前两个字母.如果我增加+''中的空格数,我会在结果中得到额外的字母(所以NULL +'[two spaces]'给我'tes').有什么想法发生了什么?
如果我声明一个变量并将其设置为NULL,例如
DECLARE @testnull AS varchar(32)
SET @testnull = NULL
SELECT
ISNULL(@testnull + ' ', 'test')
Run Code Online (Sandbox Code Playgroud)
然后我得到结果'测试'(正如我所料).