oracle 12c 列别名
我们可以为SQL语句执行结果中列标题指定列别名。通常情况下不指定的情况下。默认列标题为大写字母的列标题,如下图:
select * from employees;
指定别名的方法
使用列名和列别名之间空白格的方式
SELECT 项目1 列别名1,[项目 列别名2 ...]
使用AS关键字
SELECT 项目1 AS 列別名1, [项目2 AS 列別名2 ...]
使用规则
- 它必须是30个字节或更少
- 不能使用SQL保留字(SQL保留字)
- 可以使用字母数字字符,特殊字符(#,$,_)。
- 在日语的环境中,也可以使用汉字,平假名,片假名
- 在名称的开头不能使用数字和特殊字符(#,$,_)
- 不能使用空格
特殊列别名指定方法
由于列别名不区分大小写的,如果使用区分大小写的列别名,包含空格 应该列别名括在双引号(“)中。(此处单引号不可以会报错)
SELECT 项目1 "特殊列别名1",[项目2 "特殊列别名2" ...] SELECT 项目1 AS "特殊列别名1", [项目2 AS "特殊列别名2" ...]
列子
笔者安装环境为日语环境,所以列别名输入中文字符会显示错误。在双引号中不会报错,但是有些日文中没有的汉字也不会显示出来。
特殊需求
- 列名为小写字母 或者首字母大写。例如:”ename”(员工名小写),”Ename”(员工名首字母大写)。如果直接写,不使用双引号。下面的列名还是为大写字母
列别名中有空白格
含有特殊字符
注意 在此处’()’ 为特殊字符 $ 不是,其可以直接使用开头使用数字和特殊字符(#,$,_)
- 使用SQL中的保留字,例如”date”
列别名使用场合
不可以使用的场合
- where 句中不可以使用列别名。
- 不可以在运算符中使用列别名
注意 此处无论是加双引号还是不加引号都不可以。 - GROUP BY 句中不可以使用 列别名
可以使用的场合
- order 句子