17

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

SELECT *, NULL as aColumn
4

8 回答 8

20

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

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

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

于 2013-06-28T17:13:01.510 回答
3

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

于 2019-02-12T20:47:32.727 回答
1

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

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

于 2013-06-28T17:18:51.493 回答
1

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

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

于 2013-06-28T17:13:48.360 回答
1

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

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

已验证。

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

于 2014-09-12T00:17:30.483 回答
1

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

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

例如

SELECT *, CAST(NULL AS BIGINT) AS as aColumn
于 2017-05-31T10:19:23.513 回答
0

不使用 as SELECT ID , Name , 'None' AS Hobbies , 0 AS NumberOfPets , NULL Picture 怎么样

于 2015-03-04T19:33:53.363 回答
0

通常在将基于您刚刚选择的表的计算列插入另一个表时,在全选末尾添加 NULL 作为 [Column] 名称。

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

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

于 2015-09-14T13:29:17.067 回答