Table of Contents
- 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
描述:二进制右移
示例:
openGauss=# SELECT 8>>2 AS RESULT;
result
--------
2
(1 row)
16.2 比较操作符
大部分数据类型都可用比较操作符进行比较,并返回一个布尔类型的值。
比较操作符均为双目操作符,被比较的两个数据类型必须是相同的数据类型或者是可以进行隐式转换的类型。
openGauss提供的比较操作符请参见表1。
表 1 比较操作符
操作符 | 描述 |
---|---|
大于 | |
= | 大于或等于 |
= | 等于 |
或 !=或^= | 不等于 |
比较操作符可以用于所有相关的数据类型。所有比较操作符都是双目操作符,返回布尔类型数值。不等号的计算优先级高于等号。当输入的数据不同且无法隐式转换时, 比较操作将会失败。例如像1