Oracle使用别名

oracle别名在oracle开发应用中非常广泛,正确掌握oracle中别名的使用是学习oracle开发的基础,有些小伙伴们经常在使用的别名的过程中出现一些这样或那样的问题,今天先给大家介绍部分oracle别名使用的几种方式。

工具/原料
  • oracle、plsql

方法/步骤
  1.  

    如下例子:select ry_bh,ry_dz 烟台市芝罘区东方电子一号楼 from ry_xx

    会报标识符过长的错误,因为起别名的长度不能太长,同理

    alter table ry_xx  add 烟台市芝罘区东方电子一号楼  varchar2(40);如下示例

    (但是以上不同的数据库不同的标识符长度,这个长度可以在数据库设置的。)

    wps_clip_image-25334

  2.  

    wps_clip_image-25759

  3.  

    由以上图片可知,不管是select 语句还是alter语句,还是create建表语句,如果起的别名过长都会报标识符过长的错误,但是这个确切的长度到底不能超过多少呢?对于一般数据库来说,一般别名的长度尽量不要超过15个汉子,但是有的数据库也做一些限制,比如10个。所以目前来推测这个别名的长度是可以做限制的。

  4.  

    如果在别名上加上单引号或者双引号会出现什么问题呢,下面先用单引号来演示一下(使用英文单引号):

    wps_clip_image-25994

 

 

下面来使用英文的双引号来试一下:

wps_clip_image-26108

 

由上图可见使用英文的双引号是正常执行的,我们都知道,一般都用关键字as来定义别名,这个关键字可加也可不加,如下加上as关键字也是能正常执行的。

wps_clip_image-26183

 

 

如果将汉字别名改成英文别名会出现什么情况嫩?下面给大家演示几种情况,这几种情况我都写在一起了,都能正常执行,也就是说,使用别名的方式就只有以下几种情况:

wps_clip_image-26258

 

 

那么现在在来演示一下,在英文双引号中使用特殊字符可以么?也给出几种情况,并作出总结:

wps_clip_image-26304

 

 

现在我们不加英文双引号来使用特殊字符来演示一下:

wps_clip_image-26360

 

可见在不适用英文双引号的情况下特殊字符及数字作为别名都会报错的,所以在这种情况下只能使用纯英文字母。

END

注意事项
  • 使用别名如果要使用双引号,只能使用英文双引号括起来,且双引号里边可写任意字符。

  • 使用别名如果不用双引号,只能使用纯英文字母

转载于:https://my.oschina.net/ruanjun/blog/709070

### Oracle使用字段别名参与计算的语法 在 Oracle 数据库中,字段别名可以用于简化查询结果中的列名称或者表示复杂的表达式。然而需要注意的是,字段别名不能直接在 `WHERE` 子句中被引用[^3]。但是,在 `SELECT` 和后续的聚合函数(如 `GROUP BY` 或者 `ORDER BY`)中是可以使用的。 #### 字段别名的基本语法 ```sql SELECT column_expression AS alias_name FROM table_name; ``` 如果别名包含特殊字符或空格,则需要用双引号将其括起来[^2]。 #### 别名参与计算的示例 假设有一个表 `employees`,其中包含员工的工资 (`salary`) 和奖金比例 (`bonus_percentage`)。我们希望计算每位员工的实际总收入 (即基本工资加上奖金),并给这个新列起个别名 `"TOTAL INCOME"`: ```sql SELECT emp_name, salary + (salary * bonus_percentage / 100) AS "TOTAL INCOME" FROM employees; ``` 在这个例子中,“TOTAL INCOME” 是通过将 `salary` 加上按百分比计算的奖金得出的结果,并赋予该表达式的别名[^2]。 对于更复杂的情况,比如需要基于多个字段创建一个新的复合字段作为别名后再进一步操作时,可以通过子查询实现。例如,先定义一个中间层来处理初步运算再在外层调用它: ```sql SELECT emp_name, total_income * tax_rate AS net_income FROM ( SELECT emp_name, salary + (salary * NVL(bonus_percentage, 0) / 100) AS total_income FROM employees ); ``` 这里展示了如何利用嵌套查询的方式让之前定义好的别名参与到新的逻辑运算当中去[^1]。 注意:尽管可以在外层查询中重用内部查询所建立的别名来进行额外的操作,但在同一个层次内的 WHERE 条件里却无法到这一点因为解析顺序的关系[^3]。 ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值