在 SQL 中,常量(Literals 或 Constants) 是指直接在 SQL 语句中写死的固定值(非变量、列名或表达式)。它们表示明确的数据值,不会因查询条件而改变。以下是 SQL 中常见的常量类型及示例:
1. 数值常量(Numeric Literals)
imes 10^{-5}))
示例:
sql
SELECT 100; -
SELECT price 0.9; -
2. 字符串常量(String Literals)
示例:
sql
SELECT 'Hello, World!';
WHERE name = 'Alice O''Brien'; -
3. 日期/时间常量(Date/Time Literals)
示例:
sql
SELECT FROM orders
WHERE order_date = DATE '2023-10-01';
4. 布尔常量(Boolean Literals)
示例:
sql
UPDATE users SET is_active = TRUE WHERE id = 1; -
5. 十六进制常量(Hex Literals)
示例:
sql
SELECT X'4A6F686E'; -
6. 空值常量(NULL)
示例:
sql
SELECT FROM employees WHERE bonus IS NULL;
常量在 SQL 中的典型使用场景
1. SELECT 语句:直接返回常量值。
sql
SELECT 'Product' AS category, 10 AS quantity;
2. WHERE 条件:作为过滤值。
sql
SELECT FROM users WHERE country = 'Canada';
3. INSERT 语句:插入固定值。
sql
INSERT INTO products (id, name, price)
VALUES (1, 'Laptop', 999.99);
4. 计算表达式:参与运算。
sql
UPDATE {68978717b5 be 4}laries SET salary = salary 1.05; -
重要注意事项
1. 引号规则:
2. 日期格式:
3. 类型一致性:
| 常量类型 | 示例 | 用途 |
|-|--|--|
| 数值常量 | `42`, `-3.14` | 计算、比较 |
| 字符串常量 | `'SQL'`, `'2023-01-01'` | 文本、日期表示 |
| 日期/时间常量 | `DATE '2023-01-01'` | 日期操作 |
| 布尔常量 | `TRUE`, `FALSE` | 逻辑判断 |
| 十六进制常量 | `X'1A2B'` | 存储二进制数据 |
| NULL | `NULL` | 表示缺失值 |
理解常量是编写正确 SQL 的基础,尤其在动态生成 SQL 时需谨慎处理转义和类型匹配!