我想知道是否可以使用SQL函数来命名查询的列.举个简单的例子:
SELECT id AS SUBSTR('xAlias', 2) FROM foo
Run Code Online (Sandbox Code Playgroud)
理论上应该回归
Alias
------
...
results
...
Run Code Online (Sandbox Code Playgroud)
如果可以,可以使用哪些数据库?如果没有,那么为什么呢?
AFAIK,在任何主要的 DBMS 产品中都没有 SQL 方式来支持这一点。
在 Oracle 中命名 PIVOT 列for name in.. as似乎是最好的选择。
除此之外,就到了动态 SQL 了。
要命名查询的列,ANSI 标准只需在列(派生列或基列)后面添加新名称,并在前面加上“AS”:
SELECT id, field1, field2 * qty FROM foo
Run Code Online (Sandbox Code Playgroud)
所有列重命名如下:
SELECT id AS RenamedID, field1 AS Col1, field2 * qty AS ExtendedTotal FROM foo
Run Code Online (Sandbox Code Playgroud)
该标准适用于几乎所有主要数据库系统。
有一些供应商特定的变体,例如 SQL Server 允许等号
SELECT RenamedID=id FROM foo
Run Code Online (Sandbox Code Playgroud)
大多数 DBMS 允许省略“AS”关键字
SELECT id RenamedID FROM foo
Run Code Online (Sandbox Code Playgroud)