当前位置: 首页 > news >正文

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 时结果才为 TRUESELECT * FROM employees WHERE salary > 5000 AND department_id = 1;
OR逻辑或,只要有一个条件为 TRUE 结果就为 TRUESELECT * FROM employees WHERE salary > 5000 OR department_id = 1;
NOT逻辑非,对条件结果取反SELECT * FROM employees WHERE NOT salary > 5000;

字符串运算符

  • 连接运算符 ||

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

	SELECT 'Hello' || ' ' || 'World';结果为 Hello World。
  • 模式匹配运算符
    • LIKE

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

    -- 查找以 'J' 开头的客户姓名
    SELECT * FROM customers WHERE name LIKE 'J%'; 
    
    • ILIKE:与 LIKE 类似,但不区分大小写。
    -- 不区分大小写查找以 'J' 开头的客户姓名
    SELECT * FROM customers WHERE name ILIKE 'j%'; 
    
    • ~ 和 ~*:正则表达式匹配,~ 区分大小写,~* 不区分大小写。
    -- 使用正则表达式查找以 '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:用于判断一个值是否在指定的列表中。
	SELECT * FROM employees WHERE department_id IN (1, 2, 3);
  • NOT IN:用于判断一个值是否不在指定的列表中。
	SELECT * FROM employees WHERE department_id NOT IN (1, 2, 3);

空值比较运算符

  • IS NULL:用于判断一个值是否为 NULL。
	SELECT * FROM employees WHERE manager_id IS NULL;
  • IS NOT NULL:用于判断一个值是否不为 NULL。
	SELECT * FROM employees WHERE manager_id IS NOT NULL;

相关文章:

  • leetcode 977. Squares of a Sorted Array
  • donet使用指定版本sdk
  • 硬件工程师面试常见问题(11)
  • Machine Learning HW1 report(Hongyi Lee)
  • [基础]详解C++模板类(完整实例代码)
  • 大鱼吃小鱼开源
  • 蓝桥杯Python案例
  • [蓝桥杯 2021 省 AB] 砝码称重 Java
  • Android12 Rom定制设置默认语言为中文
  • c++题目_P1027 [NOIP 2001 提高组] Car 的旅行路线
  • SALOME源码分析: Data Object Model
  • JavaScript学习教程,从入门到精通, jQuery 下拉菜单、显示隐藏元素及查找元素方法详解(32)
  • 如何将 VS Code 与 Linux 系统高效连接:从入门到进阶
  • 归因理论——AI与思维模型【87】
  • RAG技术完全指南(一):检索增强生成原理与LLM对比分析
  • 第 2.3 节: 基于 Python 的关节空间与任务空间控制
  • MATLAB中removedelay函数用法
  • Android短信监控技术实现:合法合规的远程采集方案
  • 【AI论文】ReasonIR:为推理任务训练检索器
  • 【Unity】一个UI框架例子
  • 上海:以税务支持鼓励探索更多的创新,助力企业出海
  • 国务院食安办:加强五一假期食品生产、销售、餐饮服务环节监管
  • AI世界的年轻人,如何作答未来
  • “五一”假期,又有多地将向社会开放政府机关食堂
  • 监狱法修订草案提请全国人大常委会会议审议
  • 央行副行长:增强外汇市场韧性,坚决对市场顺周期行为进行纠偏