暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

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

原创 shuchaoyang 2023-09-09
266

Table of Contents

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 运算规则表

a b a AND b的结果 a OR b的结果 NOT a的结果
TRUE TRUE TRUE TRUE FALSE
TRUE FALSE FALSE TRUE FALSE
TRUE NULL NULL TRUE FALSE
FALSE FALSE FALSE FALSE TRUE
FALSE NULL FALSE NULL TRUE
NULL NULL NULL NULL NULL

示例请参见示例。

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

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

✏️ 评论,你的意见是我进步的财富!

image-20230404211437305

最后修改时间:2023-12-11 21:49:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论