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