📅  最后修改于: 2023-12-03 15:33:44.589000             🧑  作者: Mango
在 PostgreSQL 中,有许多运算符用于数据计算、比较和逻辑操作。这些运算符通常用于 SELECT、WHERE 和 ORDER BY 等语句中。
PostgreSQL 支持所有基本的算术运算符,如 +、-、*、/ 和 %。这些运算符可以用于数字类型的数据,例如 INTEGER、NUMERIC 和 DOUBLE PRECISION。
-- 加法运算符
SELECT 10 + 5; -- 15
-- 减法运算符
SELECT 10 - 5; -- 5
-- 乘法运算符
SELECT 10 * 5; -- 50
-- 除法运算符
SELECT 10 / 5; -- 2
-- 取模运算符
SELECT 10 % 3; -- 1
除法运算符返回一个浮点数,而不是整数。如果想要得到一个整数结果,可以使用除法运算符的另一个版本:双斜线(//)。
SELECT 10 // 3; -- 3
PostgreSQL 支持所有标准的比较运算符,如 =、!=、<>、>、<、>= 和 <=。这些运算符用于比较数字类型的数据,例如 INTEGER、NUMERIC 和 DOUBLE PRECISION。
-- 等于运算符
SELECT 10 = 10; -- true
-- 不等于运算符
SELECT 10 <> 5; -- true
-- 大于运算符
SELECT 10 > 5; -- true
-- 小于运算符
SELECT 10 < 5; -- false
-- 大于等于运算符
SELECT 10 >= 10; -- true
-- 小于等于运算符
SELECT 10 <= 5; -- false
PostgreSQL 支持三种逻辑运算符:NOT、AND 和 OR。这些运算符返回 TRUE 或 FALSE。
-- NOT 运算符
SELECT NOT true; -- false
-- AND 运算符
SELECT true AND false; -- false
-- OR 运算符
SELECT true OR false; -- true
PostgreSQL 支持字符串的连接运算符(||),可以将两个字符串连接为一个字符串。
SELECT 'hello ' || 'world'; -- 'hello world'
此外,还有模式匹配运算符(LIKE 和 ILIKE),可以用于字符串模式匹配操作。LIKE 区分大小写,而 ILIKE 不区分大小写。
-- LIKE 运算符
SELECT 'hello' LIKE '%ell%'; -- true
-- ILIKE 运算符
SELECT 'hello' ILIKE '%ELL%'; -- true
还有一些其他的运算符可用于不同类型的数据。例如,范围运算符(BETWEEN),通常用于比较数字、日期或文本值是否在指定的范围内。
SELECT 10 BETWEEN 5 AND 15; -- true
数组运算符(@> 和 <@)可以用于比较包含数组的值。@> 运算符检查数组是否包含某个值,而 <@ 运算符检查一个值是否在数组中。
SELECT ARRAY[1, 2, 3] @> ARRAY[1, 2]; -- true
SELECT 1 <@ ARRAY[1, 2, 3]; -- true
本文介绍了 PostgreSQL 中的一些基本运算符,包括算术运算符、比较运算符、逻辑运算符、字符串运算符和其他运算符。熟练掌握这些运算符可以帮助开发人员更轻松地编写 SQL 查询。