Oracle PL/SQL基础语法学习13:比较运算符

这篇具有很好参考价值的文章主要介绍了Oracle PL/SQL基础语法学习13:比较运算符。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

系列文章目录

Oracle PL/SQL基础语法学习12:短路求值
Oracle PL/SQL基础语法学习13:比较运算符
Oracle PL/SQL基础语法学习14:BOOLEAN表达式


【免责声明】文章仅供学习交流,观点代表个人,与任何公司无关。
编辑|SQL和数据库技术(ID:SQLplusDB)

Oracle PL/SQL基础语法学习13:比较运算符

比较运算符介绍

比较运算符是 PL/SQL 语言中的基本元素之一,它们被用于比较两个变量或表达式的值。在 PL/SQL 中,比较运算符是十分常见的,因此熟练运用它们能够提高代码的开发效率。

PL/SQL 中提供了六个比较运算符:=, !=(或 <>),<, <=, >, >=。这些运算符可以用在各种数据类型上,包括数字、字符、日期等类型。下面是一些示例:

DECLARE
    a NUMBER := 100;
    b NUMBER := 50;
    c VARCHAR2(10) := 'hello';
BEGIN
    IF a > b THEN
        DBMS_OUTPUT.PUT_LINE('a is greater than b');
    END IF;
    
    IF c != 'world' THEN
        DBMS_OUTPUT.PUT_LINE('c is not equal to world');
    END IF;
    
    IF SYSDATE >= TO_DATE('2022-01-01', 'YYYY-MM-DD') THEN
        DBMS_OUTPUT.PUT_LINE('It is in or after the year 2022');
    END IF;
END;

输出结果:

SQL> set serverout on
SQL> /
a is greater than b
c is not equal to world
It is in or after the year 2022

PL/SQL 过程已成功完成。

在上面的示例中,我们分别使用了 <, !=(或 <>)和 >= 三种比较运算符,用于比较数字、字符和日期类型的数据。当条件成立时,输出相应的信息。

需要注意的是,在比较字符类型的数据时,应该使用单引号将其括起来,否则编译器将会把它们看做标识符。同时,日期类型的数据需要使用 TO_DATE 函数将字符串转换为日期类型。

此外,还有一种比较运算符叫做 IS NULL,用于判断变量或表达式是否为空。例如:

DECLARE
    a NUMBER;
BEGIN
    IF a IS NULL THEN
        DBMS_OUTPUT.PUT_LINE('a is null');
    END IF;
END;

输出结果:

SQL> set serverout on
SQL> /
a is null

PL/SQL 过程已成功完成。

在上面示例中,当 a 为空时,条件成立,输出信息。

除了前面提到的六种比较运算符,PL/SQL 还提供了三种其他比较运算符:LIKEBETWEENIN。这些运算符同样广泛应用于 PL/SQL 中的各种数据类型。下面,我们来分别介绍这三种运算符的使用方法。

  1. LIKE 运算符

LIKE 运算符用于在字符类型数据中进行模糊匹配。例如,我们可以使用 % 来代表匹配任意字符,使用 _ 来代表匹配单个字符。下面是一个示例:

DECLARE
    name VARCHAR2(10) := 'Mary';
BEGIN
    IF name LIKE 'Ma%' THEN
        DBMS_OUTPUT.PUT_LINE('name starts with Ma');
    END IF;
    
    IF name LIKE '%r%' THEN
        DBMS_OUTPUT.PUT_LINE('name contains r');
    END IF;
    
    IF name LIKE '__ry' THEN
        DBMS_OUTPUT.PUT_LINE('name has four characters with ry as the last two');
    END IF;
END;

输出结果:

SQL> /
name starts with Ma
name contains r
name has four characters with ry as the last two

PL/SQL 过程已成功完成。

在上面的示例中,我们使用了 %_ 两个通配符来匹配字符类型数据中的内容。当条件成立时,输出相应的信息。

  1. BETWEEN 运算符

BETWEEN 运算符用于检查一个值是否在两个指定的值范围内。下面是一个示例:

DECLARE
    age NUMBER := 20;
BEGIN
    IF age BETWEEN 18 AND 30 THEN
        DBMS_OUTPUT.PUT_LINE('age is between 18 and 30');
    END IF;
END;

输出结果:

SQL> /
age is between 18 and 30

PL/SQL 过程已成功完成。

在上面的示例中,我们使用了 BETWEEN 运算符来检查一个年龄值是否在指定的范围内。当条件成立时,输出相应的信息。

  1. IN 运算符

IN 运算符用于检查一个值是否在一个指定的值列表内。下面是一个示例:

DECLARE
    age NUMBER := 15;
BEGIN
    IF age IN (18, 21, 25) THEN
        DBMS_OUTPUT.PUT_LINE('age is 18, 21, or 25');
    END IF;
END;

在上面的示例中,我们使用了 IN 运算符来检查一个年龄值是否在指定的列表内。当条件成立时,输出相应的信息。

LIKEBETWEENIN 运算符是 PL/SQL 中常用的比较运算符之一,它们分别用于在字符类型数据中进行模糊匹配、检查一个值是否在两个指定的值范围内、检查一个值是否在一个指定的值列表内。

总的来说,比较运算符是 PL/SQL 中的重要组成部分。熟练掌握这些运算符能够帮助我们更快、更准确地开发代码,提高程序的效率。
(注:以上内容包括部分智能聊天机器人生成的内容)

官方文档比较运算符代码例

Example 2-43 Relational Operators in Expressions

BEGIN
  print_boolean ('(2 + 2 =  4)', 2 + 2 = 4);
  
  print_boolean ('(2 + 2 <> 4)', 2 + 2 <> 4);
  print_boolean ('(2 + 2 != 4)', 2 + 2 != 4);
  print_boolean ('(2 + 2 ~= 4)', 2 + 2 ~= 4);
  print_boolean ('(2 + 2 ^= 4)', 2 + 2  ^= 4);
  
  print_boolean ('(1 < 2)', 1 < 2);
 
  print_boolean ('(1 > 2)', 1 > 2);
 
  print_boolean ('(1 <= 2)', 1 <= 2);
 
  print_boolean ('(1 >= 1)', 1 >= 1);
END;
/
 

输出结果:

(2 + 2 =  4) = TRUE
(2 + 2 <> 4) = FALSE
(2 + 2 != 4) = FALSE
(2 + 2 ~= 4) = FALSE
(2 + 2 ^= 4) = FALSE
(1 < 2) = TRUE
(1 > 2) = FALSE
(1 <= 2) = TRUE
(1 >= 1) = TRUE

Example 2-44 LIKE Operator in Expression

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('Johnson', 'J%s_n');
  compare('Johnson', 'J%S_N');
END;
/

输出结果:

TRUE
FALSE

Example 2-45 Escape Character in Pattern

DECLARE
  PROCEDURE half_off (sale_sign VARCHAR2) IS
  BEGIN
    IF sale_sign LIKE '50\% off!' ESCAPE '\' THEN
      DBMS_OUTPUT.PUT_LINE ('TRUE');
    ELSE
      DBMS_OUTPUT.PUT_LINE ('FALSE');
    END IF;
  END;
BEGIN
  half_off('Going out of business!');
  half_off('50% off!');
END;
/
 

输出结果:

FALSE
TRUE

Example 2-46 BETWEEN Operator in Expressions

BEGIN
  print_boolean ('2 BETWEEN 1 AND 3', 2 BETWEEN 1 AND 3);
  print_boolean ('2 BETWEEN 2 AND 3', 2 BETWEEN 2 AND 3);
  print_boolean ('2 BETWEEN 1 AND 2', 2 BETWEEN 1 AND 2);
  print_boolean ('2 BETWEEN 3 AND 4', 2 BETWEEN 3 AND 4);
END;
/
 

输出结果:

2 BETWEEN 1 AND 3 = TRUE
2 BETWEEN 2 AND 3 = TRUE
2 BETWEEN 1 AND 2 = TRUE
2 BETWEEN 3 AND 4 = FALSE

Example 2-47 IN Operator in Expressions

DECLARE
  letter VARCHAR2(1) := 'm';
BEGIN
  print_boolean (
    'letter IN (''a'', ''b'', ''c'')',
    letter IN ('a', 'b', 'c')
  );
  print_boolean (
    'letter IN (''z'', ''m'', ''y'', ''p'')',
    letter IN ('z', 'm', 'y', 'p')
  );
END;
/
 

输出结果:

letter IN ('a', 'b', 'c') = FALSE
letter IN ('z', 'm', 'y', 'p') = TRUE
 

Example 2-48 IN Operator with Sets with NULL Values

DECLARE
  a INTEGER; -- Initialized to NULL by default
  b INTEGER := 10;
  c INTEGER := 100;
BEGIN
  print_boolean ('100 IN (a, b, c)', 100 IN (a, b, c));
  print_boolean ('100 NOT IN (a, b, c)', 100 NOT IN (a, b, c));
  
  print_boolean ('100 IN (a, b)', 100 IN (a, b));
  print_boolean ('100 NOT IN (a, b)', 100 NOT IN (a, b));
 
  print_boolean ('a IN (a, b)', a IN (a, b));
  print_boolean ('a NOT IN (a, b)', a NOT IN (a, b));
END;
/
 

输出结果:

100 IN (a, b, c) = TRUE
100 NOT IN (a, b, c) = FALSE
100 IN (a, b) = NULL
100 NOT IN (a, b) = NULL
a IN (a, b) = NULL
a NOT IN (a, b) = NULL

参考:文章来源地址https://www.toymoban.com/news/detail-452074.html

https://docs.oracle.com/en/database/oracle/oracle-database/19/lnpls/plsql-language-fundamentals.html#GUID-319604CE-DC1C-49DF-9377-007C312F3B32

到了这里,关于Oracle PL/SQL基础语法学习13:比较运算符的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SQL 中的运算符与别名:使用示例和语法详解

    IN 运算符允许您在 WHERE 子句中指定多个值,它是多个 OR 条件的简写。 返回所有来自\\\'Germany\\\'、\\\'France\\\'或\\\'UK\\\'的客户: 以下是示例中使用的 Customers 表的部分选择: CustomerID CustomerName ContactName Address City PostalCode Country 1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany 2 Ana Truji

    2024年02月05日
    浏览(58)
  • java基础语法(运算符&循环)

    在Java中,一些数据类型之间是可以相互转换的。分为两种情况:自动类型转换和强制类型转换。 1.1 隐式转换(理解) ​ 把一个表示数据范围小的数值或者变量赋值给另一个表示数据范围大的变量。这种转换方式是自动的,直接书写即可。例如: 说明: 整数默认是int类型,

    2024年02月09日
    浏览(34)
  • Oracle之 第三篇 PL/SQL基础

    目录 Oracle之  第三篇  PL/SQL基础 PL/SQL程序块  PL/SQL语言 PL/SQL的基本结构   PL/SQL块分类    一、PL/SQL语言 二、PL/SQL 常量 、变量    合法字符 数据类型 LOB  数据类型  属性类型   运算符 常量    PL/SQL常量 1 、变量的声明        2、属性类型 % type 变量赋值 %type和%rowtype区

    2024年02月02日
    浏览(58)
  • 〔002〕Java 基础之语法、数据类型、进制转换、运算符

    注释: 是写在程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的 注释分为 单行注释 和 多行注释 ,注释的内容并不会被编译,所以 不会影响 代码的运行 单行注释通过 // 进行标注,只能注释一行 多行注释通过 /* 注释内容 */ 进行标注,可以注释多

    2024年02月05日
    浏览(79)
  • 初识Java篇(JavaSE基础语法)(1)(数据类型+运算符)

     个人主页(找往期文章包括但不限于本期文章中不懂的知识点): 我要学编程(ಥ_ಥ)-CSDN博客 目录 前言:  初识Java  运行Java程序 注释 标识符 数据类型与变量  字面常量 数据类型 变量 类型转换  类型提升  字符串类型  运算符 算术运算符  关系运算符  逻辑运

    2024年03月24日
    浏览(51)
  • 【ChatGPT辅助学Rust | 基础系列 | 基础语法】变量,数据类型,运算符,控制流

    本章节将详细介绍Rust的基础语法,包括变量,数据类型,运算符,以及控制流。每个部分都将提供详细的解释和代码示例,以便于理解和学习。 在编程语言中,变量是一种基本的概念,它们是用来存储数据的。在Rust中,变量的特性和其他语言有所不同。 在Rust中,变量的定

    2024年02月14日
    浏览(88)
  • Oracle/PL/SQL数据库基础操作(持续更新)

            PL/SQL不是一个独立的编程语言;它是Oracle编程环境中的工具。 SQL* Plus是一个互动的工具,它可以在命令提示符下键入SQL和PL/SQL语句。这些命令发送到数据库进行处理。语句处理之后将结果发回,并在屏幕上显示出来。 分类 命令 DDL create:创建;drop:删除;alter:

    2024年02月09日
    浏览(62)
  • javaSE___语法基础(关键字、标识符、数据类型、字符、字符串、运算符)

    一、的概述和使用 A:什么是 被Java语言赋予特定含义的单词 B:的特点 组成的字母全部小写 C:常见 public static void class等 D:的注意事项 goto和const作为保留字存在,目前并不使用,类似Editplus这样的高级记事本,针对有特殊的颜色标记,非

    2024年02月09日
    浏览(47)
  • 学习.SQL Server 运算符 与 流程控制

       算术运算符包括+(加)、-(减)、x(乘)、/(除)、%(取余)    SQL有一个赋值运算符等号(=),利用赋值运算符将@songname设置成一个由表达式返回的值    比较运算符包括(大于)、(小于)、=(等于)、=(大于等于)、=(小于等于)、(不等于)、!=(不等于)、!(不大于)、!(不小于),其中!=、!、!不

    2023年04月09日
    浏览(29)
  • C# 运算符详解:包含算术、赋值、比较、逻辑运算符及 Math 类应用

    运算符用于对变量和值执行操作。在C#中,有多种运算符可用,包括算术运算符、关系运算符、逻辑运算符等。 算术运算符用于执行常见的数学运算: 递增运算符 ++ 用于将变量的值增加 1,而递减运算符 -- 用于将变量的值减少 1: 在实际编码中,请注意避免在表达式中使用

    2024年01月20日
    浏览(62)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包