更新时间:2025-09-12 GMT+08:00
分享

简单表达式

逻辑表达式

逻辑表达式的操作符和运算规则,请参见逻辑操作符

比较表达式

常用的比较操作符,请参见比较函数和比较操作符

除比较操作符外,还可以使用以下句式结构:

BETWEEN操作符
a  BETWEEN  x  AND  y

一般情况下等效于a >= x AND a <= y

a  NOT BETWEEN  x  AND y

一般情况下等效于a < x OR a > y

  • BETWEEN操作符在进行转换时,会先判断a和x的比较类型,根据a和x的比较类型和y判断最终的比较类型,这样在复杂类型的场景下会和a >= x AND a <= y的结果不相等。
  • a BETWEEN x AND y,x和y不允许使用表达式,例如1 < 1。

示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
m_db=# SELECT 2 BETWEEN 1 AND 3 AS RESULT;
 result 
----------
 t
(1 row)

m_db=# SELECT 2 >= 1 AND 2 <= 3 AS RESULT;
 result 
----------
 t
(1 row)

m_db=# SELECT 2 NOT BETWEEN 1 AND 3 AS RESULT;
 result 
----------
 f
(1 row)

m_db=# SELECT 2 < 1 OR 2 > 3 AS RESULT;
 result 
----------
 f
(1 row)

m_db=# SELECT '2' between 'a' AND 3.0 AS RESULT;
WARNING:  Truncated incorrect double value: 'a'
CONTEXT:  referenced column: RESULT
 result
----------
 t
(1 row)

m_db=# SELECT '2' >= 'a' AND '2' <= 3.0 AS RESULT;
 result
----------
 f
(1 row)

相关文档