
# 简单表达式
#### 逻辑表达式
逻辑表达式的操作符和运算规则，请参见[逻辑操作符](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0145.html#ZH-CN_TOPIC_0000002527805510)。
#### 比较表达式
常用的比较操作符，请参见[比较函数和比较操作符](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/gaussdb-81-0148.html#ZH-CN_TOPIC_0000002558805329)。
除比较操作符外，还可以使用以下句式结构：
BETWEEN操作符
```
a  BETWEEN  x  AND  y
```
一般情况下与a \>= x AND a \<= y效果相同
```
a  NOT BETWEEN  x  AND y
```
一般情况下与a \< x OR a \> y效果相同
![](https://support.huaweicloud.com/distributed-m-comp-devg-v8-gaussdb/public_sys-resources/note_3.0-zh-cn.png)
- BETWEEN操作符在进行转换时，会先判断a和x的比较类型，根据a和x的比较类型和y判断最终的比较类型，这样在复杂类型的场景下会和a \>= x AND a \<= y的结果不相等。
- a BETWEEN x AND y，x和y不允许使用表达式，例如1 \< 1。
 
#### 示例
```
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)
```
