【发布时间】:2021-12-28 10:41:54
【问题描述】:
在尝试使用 MSSQL 时,我遇到了一些我无法解释的行为。
我正在研究将 NULL 值添加到 varchar 以及执行以下查询时会发生什么情况:
SELECT
ISNULL(NULL + ' ', 'test')
我得到结果'te'。同样,如果我将单词 test 更改为任何其他单词,我只会得到前两个字母。如果我增加 + ' ' 中的空格数,我会在结果中得到额外的字母(所以 NULL + '[两个空格]' 给我 'tes')。有什么想法吗?
如果我声明一个变量并将其设置为 NULL,例如
DECLARE @testnull AS varchar(32)
SET @testnull = NULL
SELECT
ISNULL(@testnull + ' ', 'test')
然后我得到结果“测试”(如我所料)。
【问题讨论】:
标签: sql sql-server