02.PostgreSQL运算符

news/2024/7/9 21:23:30 标签: 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

运算结果

由此得出结论:

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

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

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

SELECT 100+'1';

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

1.2 乘法与除法运算符

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

由此可知:

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

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

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

两个整数相处结果为整数

select 1/0;

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

1.3 取模运算符

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

由此可知:

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

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

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

不能取模0,PostgreSQL会报错

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; 

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;

2.4 非空运算符

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

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

2.5 BETWEEN操作符


                

http://www.niftyadmin.cn/n/5360852.html

相关文章

【Android新版本兼容】startActivityForResult()方法被弃用的解决方案

提示&#xff1a;此文章仅作为本人记录日常学习使用&#xff0c;若有存在错误或者不严谨得地方欢迎指正。 文章目录 一、使用registerForActivityResult()方法 一、使用registerForActivityResult()方法 startActivityForResult()方法在appcompat库1.3.0或更高版本中被废弃了&…

JavaScript中的“??“: 空值合并运算符

在JavaScript中&#xff0c;null和undefined是两个特殊的值&#xff0c;它们表示“无”或“不存在”。在处理这些值时&#xff0c;我们经常需要进行检查以避免出错。在ECMAScript 2021 (ES12)中&#xff0c;引入了一个新的运算符&#xff1a;空值合并运算符&#xff08;Nullish…

链表中的数字相加

不能简单认为将两条链表转变为整数后进行运算&#xff0c;然后将结果转变为链表。因为如果链表很长&#xff0c;这可能会导致整数溢出。 在正常的两个整数加法运算时&#xff0c;我们是从低位开始&#xff0c;然后依次相加更高位的数字&#xff0c;所以不难想到我们需要将链表反…

情人节精选礼物指南:五款必考虑情人节精选佳品

随着一年中最浪漫的节日——情人节的脚步越来越近&#xff0c;许多人可能正在纠结如何挑选一份独特的礼物来表达对另一半的爱意。一份精心挑选的礼物不仅能在这个特殊的日子里为对方带来惊喜&#xff0c;还能加深双方的情感联系。为了帮助那些还在犹豫不决的朋友们&#xff0c;…

gilab 展示测试用例结果详情页面

Python 此示例使用带有 --junitxmlreport.xml 标志的 pytest 将输出格式化为 JUnit 报告 XML 格式&#xff1a;gitlab 会自动去解析report.xml 这个文件&#xff0c;并且将每个case的测试结果展示在gitlab中pytest:stage: testscript:- pytest --junitxmlreport.xmlartifacts:w…

线上排查问题常用K8s命令

线上排查问题常用K8s命令 1 获取类 kubectl get po&#xff1a;获取默认namespace下节点信息 获取默认Default命名空间下的节点信息 kubectl get ns&#xff1a;获取所有命名空间 kubectl get po -n ziyi&#xff1a;获取指定namespace下的节点信息 kubectl get po -A&#x…

黑盒、白盒测试小结

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 对于很多刚开始学习软件测试的小伙伴来说&#xff0c;如果能尽早…

⒒电子产品拆解分析-英语四六级耳机

⒒电子产品拆解分析-英语四六级耳机 一、功能介绍二、电路分析以及器件作用1、4054锂电池充电电路2、RDA5807FP收音机电路三、其它一、功能介绍 ①可接收FM50~108广播电台频率;②关机可备份当前接收的频率和音量;③内置锂电池可充电使用;④可接多功能线到手机或电脑当头戴耳…