sql server空白列和列之间的区别,值为'NULL'

时间:2012-08-29 23:30:03

标签: sql-server-2008

在sql server中,我看到一个奇怪的行为: 当我做的时候

select col1+ ' ' + cast(col2 as varchar(10)) as concat_col

它返回一个值为NULL的列(不是空白列)。

我怀疑是因为col2有一个值= NULL(不是空白列)。 那么这种行为的原因是什么?但更重要的是,与空白列相比,值为NULL的列的含义是什么?我不认为有人进入表并更新了所有值为value = NULL的列。

2 个答案:

答案 0 :(得分:1)

NULL表示该字段没有任何值。您可以使用ISNULL函数将空值转换为您想要的值。以下内容有望为您提供正确的结果(不会给出null)

select ISNULL(col1,'')+ ' ' + cast(ISNULL(col2,'') as varchar(10)) as concat_col

答案 1 :(得分:0)

空白是一个值,而null完全没有。

认为零是一个数字,而null则不是。