SQL:作为ColumnName的NULL意味着什么

时间:2013-06-28 17:10:12

标签: sql column-alias

我了解AS用于创建别名。因此,将一个长名称别名作为较短名称是有意义的。但是,我看到SQL查询NULL as ColumnName 这意味着什么?

SELECT *, NULL as aColumn

8 个答案:

答案 0 :(得分:12)

别名可以通过多种方式使用,而不仅仅是缩短长列名称。

在这种情况下,您的示例意味着您要返回一个始终包含NULL的列,并且其别名/列名称为aColumn

当您使用计算值时也可以使用别名,例如Column1 + Column2 AS Column3

答案 1 :(得分:1)

这意味着"aColumn"只有Null值。此列可以稍后使用实际值更新,但在选中时为空。

---我不确定你是否了解SSIS,但这种机制对于SSIS将变量值添加到“空”列非常有用。

答案 2 :(得分:0)

在语句结果中,我们有一个包含所有NULL值的列。我们可以使用别名来引用该列。

在您的情况下,查询从表中选择所有记录,并且每个结果记录都包含仅包含NULL值的附加列。如果我们想在将来引用此结果集和其他位置的其他列,我们应该使用别名。

答案 3 :(得分:0)

使用SELECT时,您可以直接将值传递给列。 如下所示:

SELECT ID, Name, 'None' AS Hobbies, 0 AS NumberOfPets, NULL AS Picture, '' AS Adress

有效。

使用UNION / UNION ALL时,它可用于很好地格式化查询输出。

答案 4 :(得分:0)

如果不使用as,怎么样? 选择ID , 名称 ,'无'作为爱好 ,0 AS NumberOfPets ,NULL图片

答案 5 :(得分:0)

通常在select all的末尾添加NULL作为[Column]名称时,在根据您刚刚选择的表将一个计算列插入另一个表时使用。

UPDATE #TempTable SET aColumn = Column1 + Column2 WHERE ...

然后将结果导出或保存到另一个表格。

答案 6 :(得分:0)

查询结果可以有一个包含所有NULL值的新列。在SQL Server中,我们可以这样做

SELECT *, CAST(NULL AS <data-type>) AS as aColumn

e.g。

SELECT *, CAST(NULL AS BIGINT) AS as aColumn

答案 7 :(得分:0)

使用'Null AS [ColumnA]合并或联接数据集时,可以确保创建一个完整的数据集,该数据集以后可以进行更新,并且不需要在任何源表中创建新列。