| 运算符 | 作用 |
| = | 等于 |
| <>(!=) | 不等于 |
| <= | 小于等于 |
| >= | 大于等于 |
| > | 大于 |
| < | 小于 |
| 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 |