Oracle PL/SQL 第三章--运算符与表达式

简介: Oracle PL/SQL 第三章--运算符与表达式

Oracle PL/SQL 第三章--运算符与表达式

目录

Oracle PL/SQL 第三章--运算符与表达式

1、运算符分类

1.1、算术运算符

1.2、关系运算符

1.3、比较运算符

1.4、逻辑运算符

2、PL/SQL运算符优先级

3、运算表达式

3.1、变量赋值运算

3.2、字符与数字运算的特点

3.3、数据库赋值运算

3.4、类型转换的赋值运算

1、运算符分类

运算符是一个符号,它告诉编译器执行指定的数学或者逻辑操作。在PL/SQL中也有丰富的几种内置运算符,有如下几个类型:

  1. 算术运算符
  2. 关系运算符
  3. 比较运算符
  4. 逻辑运算符

1.1、算术运算符

在这里我们假设 X 的值为 2 ,Y 的值为 2。image.png

1.2、关系运算符

关系运算符比较两个表达式或值,并返回一个布尔结果。这里我们假设X = 2, Y = 3。

image.png

1.3、比较运算符

比较运算符是用来将一个表达式与另一个表达式作比较,其结果为true,false 或 null。image.png

提示:在PL/SQL中变量赋值一个空字符串时,默认为null。

 

1.4、逻辑运算符

使用布尔运算符并产生布尔运算结果。我们在这里假设 X = true,Y = false。image.png

2、PL/SQL运算符优先级

运算符优先级决定表达式中术语的分组。这会影响表达式的评估求值顺序。某些运算符的优先级高于其他运算符; 例如,乘法运算符的优先级高于加法运算符。

例如,x = 7 + 3 * 2; 这里,求值结果x的值为13,而不是20,因为运算符 *的优先级高于+,所以它首先被乘以3 * 2,然后再加上7。

在这里,优先级最高的运算符出现在表的顶部,最底层的运算符出现在底部。在一个表达式中,将首先评估求值较高优先级的运算符。

运算符的优先级如下:=,<,>,<=,>=,<>,!=,〜=,^=,IS NULL,LIKE,BETWEEN,IN。

image.png

3、运算表达式

3.1、变量赋值运算

在PL/SQL中,变量赋值运算符是 := ,它的语法如下:

variable := expression ;

variable是一个变量,expression是一个表达式。

3.2、字符与数字运算的特点

空值 + 数字 = 空值 ==> null + <Number> = null ;

空值 || 字符串 = 字符串 ==> null || <Varchar2> = <Varchar2>;

3.3、数据库赋值运算

数据库赋值是通过select into 语句来完成的,一般要求被赋值的变量与SELECT中的列名要一一对应。

DECLARE
  emp_id    emp.empno%TYPE :=7788;
  emp_name  emp.ename%TYPE;
  wages     emp.sal%TYPE;
BEGIN
  SELECT ename, NVL(sal,0) + NVL(comm,0) INTO emp_name, wages
  FROM emp WHERE empno = emp_id;
  DBMS_OUTPUT.PUT_LINE(emp_name||'----'||to_char(wages));
END;

提示:select into 语句中不能赋值给布尔类型的变量。

3.4、类型转换的赋值运算

1、char 转 number,使用 TO_NUMBER内置函数完成转换。

v_total := TO_NUMBER('100.0') + sal;

2、number 转 char,使用TO_CHAR内置函数完成转换。

v_comm := TO_CHAR('123.45') || '元' ;

3、字符 转 日期,使用TO_DATE内置函数完成转换。

v_date := TO_DATE('2001.07.03','yyyy.mm.dd');

4、日期 转 字符,使用TO_CHAR内置函数完成转换。

v_to_day := TO_CHAR(SYSDATE, 'yyyy.mm.dd hh24:mi:ss') ;


相关文章
|
SQL Oracle 关系型数据库
Oracle数据库创建表空间和索引的SQL语法示例
以上SQL语法提供了一种标准方式去组织Oracle数据库内部结构,并且通过合理使用可以显著改善查询速度及整体性能。需要注意,在实际应用过程当中应该根据具体业务需求、系统资源状况以及预期目标去合理规划并调整参数设置以达到最佳效果。
834 8
|
SQL Oracle 关系型数据库
解决大小写、保留字与特殊字符问题!Oracle双引号在SQL中的特殊应用
在Oracle数据库开发中,双引号的使用是一个重要但易被忽视的细节。本文全面解析了双引号在SQL中的特殊应用场景,包括解决标识符与保留字冲突、强制保留大小写、支持特殊字符和数字开头标识符等。同时提供了最佳实践建议,帮助开发者规避常见错误,提高代码可维护性和效率。
898 6
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
|
SQL Oracle 关系型数据库
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
【YashanDB知识库】yashandb执行包含带oracle dblink表的sql时性能差
|
SQL Oracle 关系型数据库
【YashanDB知识库】共享利用Python脚本解决Oracle的SQL脚本@@用法
本文来自YashanDB官网,介绍如何处理Oracle客户端sql*plus中使用@@调用同级目录SQL脚本的场景。崖山数据库23.2.x.100已支持@@用法,但旧版本可通过Python脚本批量重写SQL文件,将@@替换为绝对路径。文章通过Oracle示例展示了具体用法,并提供Python脚本实现自动化处理,最后调整批处理脚本以适配YashanDB运行环境。
|
Oracle 关系型数据库 Linux
【赵渝强老师】Oracle数据库配置助手:DBCA
Oracle数据库配置助手(DBCA)是用于创建和配置Oracle数据库的工具,支持图形界面和静默执行模式。本文介绍了使用DBCA在Linux环境下创建数据库的完整步骤,包括选择数据库操作类型、配置存储与网络选项、设置管理密码等,并提供了界面截图与视频讲解,帮助用户快速掌握数据库创建流程。
1099 93
|
Oracle 关系型数据库 Linux
【赵渝强老师】使用NetManager创建Oracle数据库的监听器
Oracle NetManager是数据库网络配置工具,用于创建监听器、配置服务命名与网络连接,支持多数据库共享监听,确保客户端与服务器通信顺畅。
621 0
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
SQL Oracle 关系型数据库
比较MySQL和Oracle数据库系统,特别是在进行分页查询的方法上的不同
两者的性能差异将取决于数据量大小、索引优化、查询设计以及具体版本的数据库服务器。考虑硬件资源、数据库设计和具体需求对于实现优化的分页查询至关重要。开发者和数据库管理员需要根据自身使用的具体数据库系统版本和环境,选择最合适的分页机制,并进行必要的性能调优来满足应用需求。
778 11
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
2990 28

推荐镜像

更多