我了解AS
用于创建别名。因此,将一个长名称别名作为较短名称是有意义的。但是,我看到SQL
查询NULL as ColumnName
这意味着什么?
SELECT *, NULL as aColumn
答案 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]合并或联接数据集时,可以确保创建一个完整的数据集,该数据集以后可以进行更新,并且不需要在任何源表中创建新列。