PostgreSQL运算符

运算符

算数运算符

运算符 描述 示例
+ 加法 SELECT 2 + 3; 结果为 5
- 减法 SELECT 5 - 2; 结果为 3
* 乘法 SELECT 2 * 3; 结果为 6
/ 除法(对于整数相除,会截断小数部分) SELECT 5 / 2; 结果为 2 ,若要得到精确结果,可使用浮点数 SELECT 5.0 / 2; 结果为 2.5
% 取模(求余数) SELECT 5 % 2; 结果为 1
^ 幂运算 SELECT 2 ^ 3; 结果为 8

比较运算符

运算符 描述 示例
= 等于 SELECT 2 = 2; 结果为 TRUE
<> 或 != 不等于 SELECT 2 <> 3; 结果为 TRUE
< 小于 SELECT 2 < 3; 结果为 TRUE
> 大于 SELECT 3 > 2; 结果为 TRUE
<= 小于等于 SELECT 2 <= 2; 结果为 TRUE
>= 大于等于 SELECT 3 >= 2; 结果为 TRUE

逻辑运算符

运算符 描述 示例
AND 逻辑与,所有条件都为 TRUE 时结果才为 TRUE SELECT * FROM employees WHERE salary > 5000 AND department_id = 1;
OR 逻辑或,只要有一个条件为 TRUE 结果就为 TRUE SELECT * FROM employees WHERE salary > 5000 OR department_id = 1;
NOT 逻辑非,对条件结果取反 SELECT * FROM employees WHERE NOT salary > 5000;

字符串运算符

  • 连接运算符 ||

用于连接两个或多个字符串:

Bash 复制代码
	SELECT 'Hello' || ' ' || 'World';
	结果为 Hello World。
  • 模式匹配运算符

    • LIKE

    用于模糊匹配字符串,支持 %(匹配任意数量的任意字符)和 _(匹配单个任意字符)。

    Bash 复制代码
    -- 查找以 'J' 开头的客户姓名
    SELECT * FROM customers WHERE name LIKE 'J%'; 
    • ILIKE:与 LIKE 类似,但不区分大小写。
    Bash 复制代码
    -- 不区分大小写查找以 'J' 开头的客户姓名
    SELECT * FROM customers WHERE name ILIKE 'j%'; 
    • ~ 和 ~*:正则表达式匹配,~ 区分大小写,~* 不区分大小写。
    Bash 复制代码
    -- 使用正则表达式查找以 'J' 开头的客户姓名
    SELECT * FROM customers WHERE name ~ '^J.*'; 

位运算

运算符 描述 示例
& 按位与 SELECT 5 & 3; (二进制 101 & 011)结果为 1
| 按位或 SELECT 5 | 3;(二进制101|011)结果为 7
# 按位异或 SELECT 5 # 3; (二进制 101 # 011)结果为 6
~ 按位取反 SELECT ~5; 结果为 -6 (二进制补码表示)
<< 左移 SELECT 5 << 1; (二进制 101 左移一位)结果为 10
>> 右移 SELECT 5 >> 1; (二进制 101 右移一位)结果为 2

成员运算符

  • IN:用于判断一个值是否在指定的列表中。
Bash 复制代码
	SELECT * FROM employees WHERE department_id IN (1, 2, 3);
  • NOT IN:用于判断一个值是否不在指定的列表中。
Bash 复制代码
	SELECT * FROM employees WHERE department_id NOT IN (1, 2, 3);

空值比较运算符

  • IS NULL:用于判断一个值是否为 NULL。
Bash 复制代码
	SELECT * FROM employees WHERE manager_id IS NULL;
  • IS NOT NULL:用于判断一个值是否不为 NULL。
Bash 复制代码
	SELECT * FROM employees WHERE manager_id IS NOT NULL;
相关推荐
IvorySQL1 小时前
PostgreSQL 日报|Anonymizer 3.3 修复高危漏洞(10 月 29 日)
数据库·postgresql
geovindu1 小时前
SQL Data Sampling and Approximation Techniques using postgreSQL 18
大数据·数据库·数据仓库·sql·postgresql·数据库开发·数据库架构
小手cool2 小时前
PostgreSQL 基础入门:从安装到核心概念
数据库·postgresql
代码派2 小时前
PostgreSQL 同构迁移上云方案|NineData 数据复制、实时增量与一致性校验
数据库·postgresql·上云·ninedata·迁移·数据库迁移·版本升级
Jack N3 小时前
【Strapi 系列之八】二次开发 + 生产部署,Docker + PostgreSQL + Nginx 一把梭
nginx·docker·postgresql·strapi
瀚高PG实验室3 小时前
瀚高数据库提交数据后,是否需要COMMIT
数据库·postgresql·瀚高数据库
AI开源软件19 小时前
SpringBoot信创项目怎么验收?从数据库迁移到交付证据
postgresql·springboot·达梦·opengauss·信创·企业管理系统
l1t1 天前
DeepSeek总结的ALTER FUNCTION SET work_mem:无需全局更改即可修复 PostgreSQL 磁盘溢出
sql·缓存·postgresql
l1t1 天前
DeepSeek总结的PostgreSQL 中的 SQL 与 PL/pgSQL:计划缓存
sql·缓存·postgresql
boy快快长大1 天前
MySQL 转 PostgreSQL 使用指南
数据库·mysql·postgresql