首页 > 数据库 >无涯教程-PL/SQL - 运算符

无涯教程-PL/SQL - 运算符

时间:2023-12-22 14:32:02浏览次数:38  
标签:dbms 无涯 运算符 put output line Line PL

在本章中,无涯教程将讨论PL/SQL中的运算符, PL/SQL语言具有丰富的内置运算符,并提供以下类型的运算符-

  • 算术运算符
  • 关系运算符
  • 比较运算符
  • 逻辑运算符

在这里,无涯教程将一一理解算术,关系,比较和逻辑运算符。

算术运算符

下表显示了PL/SQL支持的所有算术运算符。假设变量A =10,而变量B=5,则-

运算符 描述 示例
+ 相加 A + B=15
- 相减 A-B=5
* 相乘 A * B=50
/ 相除 A/B=2
** A ** B=100000
BEGIN  
   dbms_output.put_line( 10 + 5); 
   dbms_output.put_line( 10 - 5); 
   dbms_output.put_line( 10 * 5); 
   dbms_output.put_line( 10/5); 
   dbms_output.put_line( 10 ** 5); 
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出-

15 
5 
50 
2 
100000  

PL/SQL procedure successfully completed. 

关系运算符

关系运算符比较两个表达式或值,然后返回布尔输出,下表显示了PL/SQL支持的所有关系运算符。假设变量A =10,而变量B=20,则-

运算符 描述 示例
= 相等 (A=B) is not true.

!=

<>

~=

不相等 (A != B) is true.
> 大于 (A > B) is not true.
< 小于 (A < B) is true.
>= 大于或等于 (A >= B) is not true.
<= 小于或等于 (A <= B) is true
DECLARE 
   a number (2) := 21; 
   b number (2) := 10; 
BEGIN 
   IF (a = b) then 
      dbms_output.put_line('Line 1 - a is equal to b'); 
   ELSE 
      dbms_output.put_line('Line 1 - a is not equal to b'); 
   END IF;  
   IF (a < b) then 
      dbms_output.put_line('Line 2 - a is less than b'); 
   ELSE 
      dbms_output.put_line('Line 2 - a is not less than b'); 
   END IF; 
    
   IF ( a > b ) THEN 
      dbms_output.put_line('Line 3 - a is greater than b'); 
   ELSE 
      dbms_output.put_line('Line 3 - a is not greater than b'); 
   END IF;  
   -- Lets change value of a and b 
   a := 5; 
   b := 20; 
   IF ( a <= b ) THEN 
      dbms_output.put_line('Line 4 - a is either equal or less than b'); 
   END IF; 
   IF ( b >= a ) THEN 
      dbms_output.put_line('Line 5 - b is either equal or greater than a'); 
   END IF;
   IF ( a <> b ) THEN 
      dbms_output.put_line('Line 6 - a is not equal to b'); 
   ELSE 
      dbms_output.put_line('Line 6 - a is equal to b'); 
   END IF;  
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出-

Line 1 - a is not equal to b 
Line 2 - a is not less than b 
Line 3 - a is greater than b 
Line 4 - a is either equal or less than b 
Line 5 - b is either equal or greater than a 
Line 6 - a is not equal to b  

PL/SQL procedure successfully completed 

比较运算符

比较运算符用于将一个表达式与另一个表达式进行比较。输出始终为 TRUE,FALSE 或 NULL 。

运算符 描述 示例
LIKE LIKE 模糊匹配运算符。 If 'Zara Ali' like 'Z% A_i' returns a Boolean true。
BETWEEN BETWEEN 范围运算符。 If x=10 then, x between 5 and 20 returns true,  but x between 11 and 20 returns false.
IN IN 判断是否在集合中 If x='m' then, x in ('a', 'b', 'c') returns Boolean false but x in ('m', 'n', 'o') returns Boolean true.
IS NULL 判断是否为NULL If x='m', then 'x is null' returns Boolean false.

LIKE运算符

该程序测试LIKE运算符。在这里,无涯教程将使用一个小的 procedure() 来展示LIKE运算符的函数-

DECLARE 
PROCEDURE compare (value  varchar2,  pattern varchar2 ) is 
BEGIN 
   IF value LIKE pattern THEN 
      dbms_output.put_line ('True'); 
   ELSE 
      dbms_output.put_line ('False'); 
   END IF; 
END;  
BEGIN 
   compare('Zara Ali', 'Z%A_i'); 
   compare('Nuha Ali', 'Z%A_i'); 
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出-

True 
False  

PL/SQL procedure successfully completed.

BETWEEN运算符

以下程序显示BETWEEN运算符的用法-

DECLARE 
   x number(2) := 10; 
BEGIN 
   IF (x between 5 and 20) THEN 
      dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
    
   IF (x BETWEEN 5 AND 10) THEN 
      dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
    
   IF (x BETWEEN 11 AND 20) THEN 
      dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出-

True 
True 
False 
 
PL/SQL procedure successfully completed.

IN和IS NULL运算符

以下程序显示了IN和IS NULL运算符的用法-

ECLARE 
   letter varchar2(1) := 'm'; 
BEGIN 
   IF (letter in ('a', 'b', 'c')) THEN 
      dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
  
   IF (letter in ('m', 'n', 'o')) THEN 
       dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
    
   IF (letter is null) THEN 
    dbms_output.put_line('True'); 
   ELSE 
      dbms_output.put_line('False'); 
   END IF; 
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出:

False
True
False

PL/SQL procedure successfully completed.

逻辑运算符

下表显示了PL/SQL支持的逻辑运算符。所有这些运算符都对布尔操作数起作用并产生布尔输出。假设变量A=true,而变量B=false ,则-

运算符 描述 示例
and 称为逻辑AND运算符,如果两个操作数都为真,则条件为真。 (A and B) is  false
or 称为逻辑OR运算符,如果两个操作数中的任何一个为true,则条件为true。 (A or B) is true
not 称为逻辑NOT运算符,用于反转其操作数的逻辑状态。 not (A and B) is true
DECLARE 
   a boolean := true; 
   b boolean := false; 
BEGIN 
   IF (a AND b) THEN 
      dbms_output.put_line('Line 1 - Condition is true'); 
   END IF; 
   IF (a OR b) THEN 
      dbms_output.put_line('Line 2 - Condition is true'); 
   END IF; 
   IF (NOT a) THEN 
      dbms_output.put_line('Line 3 - a is not true'); 
   ELSE 
      dbms_output.put_line('Line 3 - a is true'); 
   END IF; 
   IF (NOT b) THEN 
      dbms_output.put_line('Line 4 - b is not true'); 
   ELSE 
      dbms_output.put_line('Line 4 - b is true'); 
   END IF; 
END; 
/

当以上代码在SQL提示符下执行时,将产生以下输出-

Line 2 - Condition is true 
Line 3 - a is true 
Line 4 - b is not true  

PL/SQL procedure successfully completed. 

参考链接

https://www.learnfk.com/plsql/plsql-operators.html

标签:dbms,无涯,运算符,put,output,line,Line,PL
From: https://blog.51cto.com/u_14033984/8935425

相关文章

  • SigmaPlot 15:高效精准,让科学绘图更简单
    SigmaPlot15是一款广受欢迎的科学绘图软件,它为科学家、数据分析师和研究者们提供了一款强大且易于使用的工具,以创建高质量的图表和图形。这款软件具备丰富的功能,能够满足各种科学绘图需求。点击获取SigmaPlot15SigmaPlot15具有直观的用户界面,使得用户可以轻松地学习和使用。......
  • 无涯教程-PL/SQL - 变量声明
    在本章中,无涯教程将讨论Pl/SQL中的变量,变量不过是无涯教程程序可以操作的存储区域的名称。变量声明PL/SQL变量必须在声明部分或程序包中声明为全局变量,声明变量时,PL/SQL为变量的值分配内存,并且存储位置由变量名标识。variable_name[CONSTANT]datatype[NOTNULL][:=|DEFA......
  • 无涯教程-PL/SQL - 环境设置
    在本章中,无涯教程将讨论PL/SQL的环境设置,PL/SQL不是独立的编程语言,它是Oracle编程环境中的工具,SQL*Plus是一个交互式工具,可让您在命令提示符下键入SQL和PL/SQL语句,然后将这些命令发送到数据库进行处理,处理完语句后,输出将发送回并显示在屏幕上。要运行PL/SQL程序,您应该在计......
  • 无涯教程-PL/SQL - 简介
    PL/SQL(ProceduralLanguage/SQL)是甲骨文公司专有的SQL扩展语言,应用在甲骨文公司的Oracle数据库系统。一些的SQL数据库管理系统也提供了类似的扩展SQL语言。PL/SQL的的语法非常类似于Ada,而且像1980年代的Ada编译器一样,PL/SQL的运作系统使用Diana作为中介语言。重要的是PL/SQL紧密......
  • (六)Playwright
    what微软产品前身是puppewhy支持移动端快速可靠运行自定义运行异步运行支持CDP协议(selenium支持https协议) Howtoinstallplaywright 环境 pip install playwright【相当于各个浏览的驱动】#ffmeg playwright installchromium  pla......
  • C# null合并运算符??
    C#有个??运算符,能用来简化代码逻辑internalclassTester{publicvoidTest(){AAAaaa=null;AAAbbb=newAAA("bbb");Console.WriteLine(Test1(aaa,bbb).Name);//bbbConsole.WriteLine(Test2(aaa,b......
  • element-plus的type类型为daterange的时候限制时间选择
    对于ElementPlus的日期时间范围选择组件(el-date-picker的type设置为"daterange"),你可以使用:picker-options属性来设置选项,通过disabledDate函数来禁止选择当前时间之前的日期。下面是一个el-date-picker(type为"daterange")的示例,它禁止选择今天之前的日期:<el-date-......
  • 无涯教程-Haskell - Nested if-else 语句函数
    以下代码显示了如何在Haskell中使用嵌套的if-else语句-main=doletvar=26ifvar==0thenputStrLn"Numberiszero"elseifvar`rem`2==0thenputStrLn"NumberisEven"elseputStrLn"NumberisOdd"在上面的示例中......
  • JavaScript中的instanceof运算符
    JavaScript中的instanceof运算符:https://blog.csdn.net/weixin_43263355/article/details/123551619?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170320923016800197085509%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170320......
  • 神经网络可视化新工具:TorchExplorer
    TorchExplorer是一个交互式探索神经网络的可视化工具,他的主要功能如下:TorchExplorer是一款创新的人工智能工具,专为使用非常规神经网络架构的研究人员设计。可以在本地或者wandb中生成交互式Vega自定义图表,提供网络结构的模块级可视化。在左边的面板可以模块级方式展现神经网络架......