运算符 作用
= 等于
<>(!=) 不等于
<= 小于等于
>= 大于等于
> 大于
< 小于
LEAST 在有两个或多个参数时,返回最小值
GREATEST 在有两个或多个参数时,返回最大值
BETWEEN ... AND ... 判断一个值是否落在两个值直见
IN 判断一个值是IN列表中的任意一个值
LIKE 通配符匹配


等于运算符(=)

等于 “=” 用来判断数字、字符串和表达式是否相等。如果相等,返回值为 t ,否则返回 f


规则如下

  1. 若有一个或两个参数为 NULL ,则比较运算的 结果为空
  2. 若同一个比较运算中的两个参数都是字符串,则按照字符串进行比较。
  3. 若两个参数均为整数,则按照整数进行比较。
  4. 若一个字符串和数字进行相等判断,则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 ,则结果为 空值


支持的 通配符

  1. % : 匹配任何数目的字符,甚至包括零字符
  2. _ : 只能匹配一个字符

示例:

$ 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