命名 PostgreSQL 中不同类型的运算符。
封面图
•
2026-01-06
•
PostgreSQL
271
0
0
0
在 PostgreSQL 中,运算符(Operators)用于执行各种操作,如比较、算术、逻辑、字符串连接等。根据功能和用途的不同,可以将 PostgreSQL 中的运算符分为以下几类: --- ### 1. **算术运算符 (Arithmetic Operators)** 用于执行基本的数学运算。 | 运算符 | 描述 | |--------|--------------| | `+` | 加法 | | `-` | 减法 | | `*` | 乘法 | | `/` | 除法 | | `%` | 取模(余数) | **示例:** ```sql SELECT 5 + 3; -- 返回 8 SELECT 10 - 4; -- 返回 6 SELECT 2 * 3; -- 返回 6 SELECT 10 / 3; -- 返回 3(整数除法) SELECT 10 % 3; -- 返回 1 ``` --- ### 2. **比较运算符 (Comparison Operators)** 用于比较两个值。 | 运算符 | 描述 | |--------|------------------| | `=` | 等于 | | `<>` 或 `!=` | 不等于 | | `>` | 大于 | | `<` | 小于 | | `>=` | 大于等于 | | `<=` | 小于等于 | **示例:** ```sql SELECT * FROM employees WHERE salary > 50000; SELECT * FROM users WHERE name <> 'John'; ``` --- ### 3. **逻辑运算符 (Logical Operators)** 用于组合多个条件表达式。 | 运算符 | 描述 | |--------|------------------| | `AND` | 逻辑与 | | `OR` | 逻辑或 | | `NOT` | 逻辑非 | **示例:** ```sql SELECT * FROM products WHERE price > 100 AND stock > 0; SELECT * FROM users WHERE name = 'Alice' OR name = 'Bob'; ``` --- ### 4. **字符串运算符 (String Operators)** 用于处理字符串。 | 运算符 | 描述 | |--------|------------------| | `||` | 字符串连接 | **示例:** ```sql SELECT 'Hello' || ' World'; -- 返回 'Hello World' ``` --- ### 5. **位运算符 (Bitwise Operators)** 用于对整数进行按位操作。 | 运算符 | 描述 | |--------|------------------| | `&` | 按位与 | | `|` | 按位或 | | `~` | 按位取反 | | `<<` | 左移 | | `>>` | 右移 | **示例:** ```sql SELECT 5 & 3; -- 二进制 101 & 011 = 001 → 1 SELECT 5 | 3; -- 101 | 011 = 111 → 7 SELECT 5 << 1; -- 101 << 1 → 1010 → 10 ``` --- ### 6. **集合运算符 (Set Operators)** 用于合并多个查询结果集。 | 运算符 | 描述 | |--------|------------------| | `UNION` | 合并两个结果集并去重 | | `UNION ALL` | 合并两个结果集不去重 | | `INTERSECT` | 返回两个结果集的交集 | | `EXCEPT` | 返回第一个结果集减去第二个结果集 | **示例:** ```sql SELECT id FROM table1 UNION SELECT id FROM table2; ``` --- ### 7. **特殊运算符 (Special Operators)** 这些运算符具有特定用途,例如: | 运算符 | 描述 | |--------|----------------------------------| | `IS` | 用于判断是否为 NULL | | `IS NOT` | 判断是否不是 NULL | | `IN` | 判断值是否在一组值中 | | `BETWEEN` | 判断值是否在某个范围内 | | `LIKE` | 模糊匹配 | | `ILIKE` | 不区分大小写的模糊匹配 | | `GLOB` | 类似于 `LIKE`,但使用 Unix 风格通配符 | **示例:** ```sql SELECT * FROM users WHERE name LIKE 'J%'; SELECT * FROM products WHERE price BETWEEN 100 AND 200; ``` --- ### 8. **JSON 运算符 (JSON Operators)** PostgreSQL 支持丰富的 JSON 类型运算符。 | 运算符 | 描述 | |--------|----------------------------------| | `->` | 提取 JSON 对象中的字段 | | `->>` | 提取 JSON 字段并作为文本返回 | | `#>` | 提取 JSON 数组中的元素 | | `#>>` | 提取 JSON 数组元素并作为文本返回 | | `@>` | 检查 JSON 是否包含另一个 JSON | | `&&` | 检查两个 JSON 是否有共同元素 | **示例:** ```sql SELECT '{"name": "Alice", "age": 30}'::json -> 'name'; -- 返回 'Alice' SELECT '{"a": [1,2,3]}'::json #> '{0}'; -- 返回 1 ``` --- ### 总结 | 类型 | 常见运算符举例 | |------------------|------------------------------------| | 算术运算符 | `+`, `-`, `*`, `/`, `%` | | 比较运算符 | `=`, `<>`, `>`, `<`, `>=`, `<=` | | 逻辑运算符 | `AND`, `OR`, `NOT` | | 字符串运算符 | `||` | | 位运算符 | `&`, `|`, `~`, `<<`, `>>` | | 集合运算符 | `UNION`, `INTERSECT`, `EXCEPT` | | 特殊运算符 | `IS`, `IN`, `BETWEEN`, `LIKE` | | JSON 运算符 | `->`, `->>`, `#>`, `#>>`, `@>`, `&&` | 如果你有具体的使用场景或需要更详细的说明,请告诉我!
上一篇:
比较 PostgreSQL 和 MySQL。
下一篇:
Postgresql 中的统计信息如何更新?
标题录入,一次不能超过6条
留言
评论