运算符
|
作用
|
=
|
等于
|
<>(!=)
|
不等于
|
<=
|
小于等于
|
>=
|
大于等于
|
>
|
大于
|
<
|
小于
|
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
运算符的语法格式为:
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(值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(值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
运算符用来判断操作数是否为
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
运算符用来匹配字符串,语法格式为:
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
|