运算符 | 作用 |
= | 等于 |
<>(!=) | 不等于 |
<= | 小于等于 |
>= | 大于等于 |
> | 大于 |
< | 小于 |
LEAST | 在有两个或多个参数时,返回最小值 |
GREATEST | 在有两个或多个参数时,返回最大值 |
BETWEEN ... AND ... | 判断一个值是否落在两个值直见 |
IN | 判断一个值是IN列表中的任意一个值 |
LIKE | 通配符匹配 |
等于运算符(=)
等于 “=”
用来判断数字、字符串和表达式是否相等。如果相等,返回值为 t
,否则返回 f
。
规则如下
- 若有一个或两个参数为
NULL
,则比较运算的结果为空。 - 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
- 若两个参数均为整数,则按照整数进行比较。
- 若一个字符串和数字进行相等判断,则PostgreSQL可以自动将字符串转化为数字。
示例:
$ SELECT 1=0,'2'=2,2=2,'b'='b',(1+3)=(2+1),NULL=NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
false | true | true | true | false | null |
不等于运算符(<>或者!=)
‘<>’
或者 ‘!=’
用于判断数字、字符串、表达式不相等的判断,如果不相等,返回 t
, 否则返回 f
。注意:规则等同于“=”运算符
示例:
$ SELECT 'good'<>'god',1<>2,4!=4,5.5!=5,(1+3)!=(2+1),NULL<>NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | true | false | true | true | null |
小于等于运算符(<=)
“<=”
用来判断左边的操作数是否小于或者等于右边的操作数,如果小于或者等于,返回值为 t
, 否则返回 f
。注意:不能用于判断空值NULL
示例:
$ SELECT 'good'<='god',1<=2,4<=4,5.5<=5,(1+3)<=(2+1),NULL<=NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
false | true | true | false | false | null |
说明:'good'<='god'
运算方式为:按照字母顺序一个一个比较,第一个字母都是 g
,相同,比较下一个;下一都是 o
,也相同,继续往下走;第三个,一个是 o
,一个是 d
,不相同,然后按照字母表中的顺序 o
是排在 d
后面的,因此 'good'>'god'
,返回 t
。
小于运算符(>)
“<”
用来判断左边的操作数是否小于右边的操作数,如果小于,返回值为 t
, 否则返回 f
。注意:不能用于判断空值NULL
示例:
$ SELECT 'good'<'god',1<2,4<4,5.5<5,(1+3)<(2+1),NULL<NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | false | false | true | true | null |
大于等于运算符(>=)
“>=”
用来判断左边的操作数是否大于或者等于右边的操作数,如果大于或者等于,返回值为 t
, 否则返回 f
。注意:不能用于判断空值NULL
示例:
$ SELECT 'good'>='god',1>=2,4>=4,5.5>=5,(1+3)>=(2+1),NULL>=NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | false | false | true | true | null |
大于运算符(>)
“>”
用来判断左边的操作数是否大于右边的操作数,如果大于,返回值为 t
, 否则返回 f
。注意:不能用于判断空值NULL
示例:
$ SELECT 'good'>'god',1>2,4>4,5.5>5,(1+3)>(2+1),NULL>NULL;点击复制复制失败已复制
结果入下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | false | false | true | true | null |
BETWEEN AND 运算符
BETWEEN AND
运算符的语法格式为:
expr BETWEEN min AND max点击复制复制失败已复制
作用于全闭空间,即: expr ∈ [min, max]
。
示例:
$ SELECT 4 BETWEEN 2 AND 5, 4 BETWEEN 4 AND 6, 12 BETWEEN 9 AND 10;点击复制复制失败已复制
结果如下:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | true | false |
BETWEEN AND
运算符也可以用于字符串比较,示例如下:
$ SELECT 'x' BETWEEN 'f' AND 'g', 'b' BETWEEN 'a' AND 'c';点击复制复制失败已复制
结果如下:
?column?(boolean) | ?column?(boolean) |
false | true |
LEAST 运算符——取最小值
LEAST
运算符的语法格式为:
LEAST(值1,值2,值3,...,值n)点击复制复制失败已复制
在有两个或多个参数的情况下,返回最小值,假如任意一个值为NULL,则在比较中忽略不计。
示例:
$ SELECT LEAST(2,0),LEAST(20.0,3.0,100.5),LEAST('a','c','b'),LEAST(10,NULL);点击复制复制失败已复制
结果如下:
least(integer) | least(numeric) | least(text) | least(integer) |
0 | 3.0 | a | 10 |
GREATEST 运算符——取最大值
GREATEST
运算符的语法格式为:
GREATEST(值1,值2,值3,...,值n)点击复制复制失败已复制
在有两个或多个参数的情况下,返回最大值,假如任意一个值为NULL,则在比较中忽略不计。
示例:
$ SELECT GREATEST(2,0),GREATEST(20.0,3.0,100.5),GREATEST('a','c','b'),GREATEST(10,NULL);点击复制复制失败已复制
结果如下:
greatest(integer) | greatest(numeric) | greatest(text) | greatest(integer) |
2 | 100.5 | c | 10 |
IN、NOT IN 运算符
IN
运算符用来判断操作数是否为 IN列表
中的某一个值,如果是,那么返回值为 t
,否则返回值为 f
。
NOT IN
运算符用来判断操作数是否为 IN列表
中的某一个值,如果不是,那么返回值为 t
,否则返回值为 f
。
注意:
列表中的格式需要相同,但可包含NULL。例如: 2 IN (2,0,100.5, 'a' )
这种就会报错。
重点:
在左侧表达式为 NULL
的情况下,或者表中找不到匹配项目并且表中有一个表达式为 NULL
的情况下, IN
的返回值为 空值
。
IN
运算符也可以用于 SELECT
语句中进行嵌套子查询。
示例:
$ SELECT 2 IN (2,0,58),2 IN (2,0,100.5), 2 NOT IN (5,0 ,2),NULL IN (1,3,5), NULL IN (1,NULL), 10 IN (2, 10, NULL);点击复制复制失败已复制
结果:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | true | false | null | null | true |
LIKE
LIKE
运算符用来匹配字符串,语法格式为: expr LIKE 匹配条件
。如果 expr
满足匹配条件,就返回 t
,如果不匹配就返回 f
。
重点:
若 expr
或匹配条件中任何一个为 NULL
,则结果为 空值
。
支持的通配符:
%
: 匹配任何数目的字符,甚至包括零字符_
: 只能匹配一个字符
示例:
$ SELECT 'stud' LIKE 'stud', 'stud' LIKE 'stu_', 'stud' LIKE '%d', 'stud' LIKE 't___','s' LIKE NULL; 点击复制复制失败已复制
结果:
?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) | ?column?(boolean) |
true | true | true | false | null |