02.PostgreSQL运算符

1. 算术运算符

算术运算符

描述

示例

+

加法运算符

SELECT A+B

-

减法运算符

SELECT A-B

*

乘法运算符

SELECT A*B

/

除法运算符

SELECT A/B

%

取余运算符

SELECT A%B

1.1 加法与减法操作符

SELECT 100,100+11,100-11,100+23.0,100-23.0

运算结果

02.PostgreSQL运算符_第1张图片

由此得出结论:

  • 一个整数加上或者减去一个整数结果还是一个整数

  • 一个整数加上或者减去一个浮点数结果是一个浮点数

  • 在PostgreSQL中+只表示数值相加,如果遇到非数值类型,先尝试转化成数值,如果转失败,则直接报错。

SELECT 100+'1';

02.PostgreSQL运算符_第2张图片

02.PostgreSQL运算符_第3张图片

如果想实现连接使用||操作符

02.PostgreSQL运算符_第4张图片

1.2 乘法与除法运算符

SELECT 100,100*1,100*1.0,100/1.0,100.0/1,100+2*5/2,100/3;

02.PostgreSQL运算符_第5张图片

由此可知:

一个数乘以1和除以1后仍得原数

一个数乘以浮点数和除以浮点数后变成浮点数

一个整数数除以浮点数或者一个浮点数除以一个整数,结果的小数位为16位。

两个整数相处结果为整数

select 1/0;

在PostgreSQL中,0不能作为除数,会报错。

02.PostgreSQL运算符_第6张图片

1.3 取模运算符

select 12%3,12.0%5,12%5.0,12%5,0.0%5,0%5.0||'';

02.PostgreSQL运算符_第7张图片

由此可知:

两个整数取模结果为整数,

整数与浮点数取模结果为浮点数

0%整数结果为整数0,取模浮点数结果为浮点数。取模的优先级大于连接操作符的优先级

不能取模0,PostgreSQL会报错

02.PostgreSQL运算符_第8张图片

2. 比较运算符

比较运算符用来对表达式左边的操作数和右边的操作数进行比较,比较结果为真则返回true,比较结果为假则返回false,其他情况返回NULL。

比较运算符经常被用来作为SELECT查询语句的条件来使用,返回符合条件的记录。

比较运算符

描述

示例

=

等于

manager_id = 100

!=

不等于

department_id != 50

<>

不等于

job_id <> 'SA_REP’'

>

大于

salary > 10000

>=

大于等于

hire_date >= '2007-01-01'

<

小于

salary < 15000

<=

小于等于

employee_id <= 123

2.1 等号运算符

等号运算符(=)判断等号两边的值、字符串或表达式是否相等,如果相等返回true,不等返回false

在使用等号运算时,遵循如下规则:

  1. 等号两边的值都是整数,按照数值大小比较

  2. 等号两边的值一个是整数,另一个是字符串,则将字符串转化为整数,按照数值比较

  3. 等号两边的值有一个是NULL,则结果为NULL

SELECT 1 = 1, 1 = '1', 1 = 0, 'a' = 'a', (5 + 3) = (2 + 6), '' = NULL , NULL = NULL; 

02.PostgreSQL运算符_第9张图片

2.2 不等于运算符

不等于运算符(<>和!=)用于判断两边的数字、字符串或者表达式的值是否不相等,如果不相等则返回true,相等则返回false。不等于运算符不能判断NULL值。如果两边的值有任意一个为NULL,或两边都为NULL,则结果为NULL。 SQL语句示例如下:

SELECT 1 <> 1, 1 != 2, 'a' != 'b', (3+4) <> (2+6), 'a' != NULL, NULL <> NULL;

2.3 空运算符

空运算符(IS NULL)判断一个值是否为NULL,如果为NULL则返回true,否则返回 false。 SQL语句示例如下:

SELECT NULL IS NULL, 1 IS NULL;

02.PostgreSQL运算符_第10张图片

2.4 非空运算符

非空运算符(IS NOT NULL)判断一个值是否不为NULL,如果不为NULL则返回true,否则返 回false。 SQL语句示例如下:

SELECT NULL IS NOT NULL, 'a' IS NOT NULL, 1 IS NOT NULL;

02.PostgreSQL运算符_第11张图片

2.5 BETWEEN操作符


你可能感兴趣的:(postgresql,数据库)