在sql server中,我看到一个奇怪的行为: 当我做的时候
select col1+ ' ' + cast(col2 as varchar(10)) as concat_col
它返回一个值为NULL的列(不是空白列)。
我怀疑是因为col2有一个值= NULL(不是空白列)。 那么这种行为的原因是什么?但更重要的是,与空白列相比,值为NULL的列的含义是什么?我不认为有人进入表并更新了所有值为value = NULL的列。
答案 0 :(得分:1)
NULL表示该字段没有任何值。您可以使用ISNULL函数将空值转换为您想要的值。以下内容有望为您提供正确的结果(不会给出null)
select ISNULL(col1,'')+ ' ' + cast(ISNULL(col2,'') as varchar(10)) as concat_col
答案 1 :(得分:0)
空白是一个值,而null完全没有。
认为零是一个数字,而null则不是。