ITPub博客

首页 > 数据库 > 数据库开发技术 > openGauss学习笔记-16 openGauss 简单数据管理-运算符

openGauss学习笔记-16 openGauss 简单数据管理-运算符

原创 数据库开发技术 作者:shuchaoyang 时间:2023-04-05 07:30:00 0 删除 编辑

openGauss学习笔记-16 openGauss 简单数据管理-运算符16.1 算术运算符16.2 比较操作符16.3 逻辑操作符

openGauss学习笔记-16 openGauss 简单数据管理-运算符

openGauss中运算符是一个保留关键字或字符,一般用在WHERE语句中,作为过滤条件。常见运算符如下。

16.1 算术运算符

  • +

描述:加

示例:
openGauss=# SELECT 2+3 AS RESULT;
result
--------
     5
(1 row)
  • -

描述:减

示例:
openGauss=# SELECT 2-3 AS RESULT;
result
--------
    -1
(1 row)
  • *

    描述:乘

    示例:

    openGauss=# SELECT 2*3 AS RESULT;
    result
    --------
         6
    (1 row)
  • /

    描述:除(除法操作符不会取整)

    示例:

    openGauss=# SELECT 4/2 AS RESULT;
    result
    --------
         2
    (1 row)
    openGauss=# SELECT 4/3 AS RESULT;
        result      
    ------------------
    1.33333333333333
    (1 row)
  • +/-

    描述:正/负

    示例:

    openGauss=# SELECT -2 AS RESULT;
    result
    --------
        -2
    (1 row)
  • %

    描述:模(求余)

    示例:

    openGauss=# SELECT 5%4 AS RESULT;
    result
    --------
         1
    (1 row)
  • @

    描述:绝对值

    示例:

    openGauss=# SELECT @ -5.0 AS RESULT;
    result
    --------
       5.0
    (1 row)
  • ^

    描述:幂(指数运算)

    示例:

    openGauss=# SELECT 2.0^3.0 AS RESULT;
          result      
    --------------------
    8.0000000000000000
    (1 row)
  • |/

    描述:平方根

    示例:

    openGauss=# SELECT |/ 25.0 AS RESULT;
    result
    --------
         5
    (1 row)
  • ||/

    描述:立方根

    示例:

    openGauss=# SELECT ||/ 27.0 AS RESULT;
    result
    --------
         3
    (1 row)
  • !

    描述:阶乘

    示例:

    openGauss=# SELECT 5! AS RESULT;
    result
    --------
       120
    (1 row)
  • !!

    描述:阶乘(前缀操作符)

    示例:

    openGauss=# SELECT !!5 AS RESULT;
    result
    --------
       120
    (1 row)
  • &

    描述:二进制AND

    示例:

    openGauss=# SELECT 91&15  AS RESULT;
    result
    --------
        11
    (1 row)
  • |

    描述:二进制OR

    示例:

    openGauss=# SELECT 32|3  AS RESULT;
    result
    --------
        35
    (1 row)
  • #

    描述:二进制XOR

    示例:

    openGauss=# SELECT 17#5  AS RESULT;
    result
    --------
        20
    (1 row)
  • ~

    描述:二进制NOT

    示例:

    openGauss=# SELECT ~1 AS RESULT;
    result
    --------
        -2
    (1 row)
  • «

    描述:二进制左移

    示例:

    openGauss=# SELECT 1<<4 AS RESULT;
    result
    --------
        16
    (1 row)
  • >>

    描述:二进制右移

    示例:

    openGauss=# SELECT 8>>2 AS RESULT;
    result
    --------
         2
    (1 row)

16.2 比较操作符

大部分数据类型都可用比较操作符进行比较,并返回一个布尔类型的值。

比较操作符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。

openGauss提供的比较操作符请参见表1。

表 1 比较操作符

比较操作符可以用于所有相关的数据类型。所有比较操作符都是双目操作符,返回布尔类型数值。不等号的计算优先级高于等号。当输入的数据不同且无法隐式转换时, 比较操作将会失败。例如像1<2<3这样的表达式是非法的,因为布尔值和3之间无法用小于号(<)比较。

示例:

openGauss=# select 1<2;
?column?
----------
t
(1 row)

openGauss=# select 1>2;
?column?
----------
f
(1 row)

openGauss=# select 1>=2;
?column?
----------
f
(1 row)

openGauss=# select 1<=2;
?column?
----------
t
(1 row)

openGauss=# select 1=2;
?column?
----------
f
(1 row)

openGauss=# select 1!=2;
?column?
----------
t
(1 row)

16.3 逻辑操作符

常用的逻辑操作符有AND、OR和NOT,他们的运算结果有三个值,分别为TRUE、FALSE和NULL,其中NULL代表未知。他们运算优先级顺序为:NOT>AND>OR。

操作符AND和OR具有交换性,即交换左右两个操作数,不影响其结果。

运算规则请参见表2,表中的a和b代表逻辑表达式。

表 2 运算规则表

示例请参见示例。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!


有什么吐槽或反馈意见,直接告诉我!

温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。


原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303582