第1个回答 2009-07-02
AS 子句可以用来变更结果集资料行的名称,或是指派名称给衍生的资料行。
当结果集资料行是由资料表或检视中的资料行参考所定义时,结果集资料行的名称便与被参考的资料行的名称相同。AS 子句可以用来指派不同的名称或别名给结果集资料行。如此可以增加资料行的可读性。例如:
复制程式码
SELECT EmpSSN AS "Employee Social Security Number"
FROM EmpTable
衍生的资料行是属於选取清单中指定为非对资料行单纯参考的资料行。除非使用 AS 来指派名称,否则衍生的资料行没有名称。在此范例中,如果将 AS 移除,使用 DATEDIFF 函数所指定的衍生资料行便没有名称:
复制程式码
SELECT SalesOrderID,
DATEDIFF(dd, ShipDate, GETDATE() ) AS DaysSinceShipped
FROM AdventureWorks.Sales.SalesOrderHeader
WHERE ShipDate IS NOT NULL
AS 子句是 SQL-92 标准针对指派结果集资料行名称所定义的语法。这是 Microsoft SQL Server 2005 中使用的惯用语法。
复制程式码
column_name AS column_alias
或
复制程式码
result_column_expression AS derived_column_name
Transact-SQL 也针对与旧版 SQL Server 的相容性,支援下列语法:
复制程式码
column_alias = column_name
或
复制程式码
derived_column_name = result_column_expression
例如,上一个范例可以改写成:
复制程式码
SELECT SalesOrderID,
DaysSinceShipped = DATEDIFF(dd, ShipDate, GETDATE() )
FROM AdventureWorks.Sales.SalesOrderHeader
WHERE ShipDate IS NOT NULL