本文更新于 2026-03-29
字符串函数
基础处理函数
| 函数 | 功能 | 示例代码块 |
|---|---|---|
| CONCAT(s1, s2…sn) | 字符串拼接,将多个字符串合并为一个 | SELECT CONCAT('Hello', ' ', 'World'); |
| LOWER(str) | 将字符串全部转换为小写 | SELECT LOWER('MySQL'); → mysql |
| UPPER(str) | 将字符串全部转换为大写 | SELECT UPPER('mysql'); → MYSQL |
| TRIM(str) | 去除字符串左右两边的空格 | SELECT TRIM(' abc '); → abc |
| 截取与填充函数 |
| 函数 | 功能 | 示例代码块 |
|---|---|---|
| SUBSTR(s, start, len) | 从 start 位置开始截取 len 长度的字符串 | SELECT SUBSTR('HelloSQL', 1, 5); → Hello |
| LPAD(str, len, pad) | 左填充,用 pad 将 str 填充到 len 长度 | SELECT LPAD('01', 5, '-'); → ---01 |
| RPAD(str, len, pad) | 右填充,用 pad 将 str 填充到 len 长度 | SELECT RPAD('01', 5, '-'); → 01--- |
注意点: 1.索引位置:在 SQL 的
SUBSTR函数中,索引是从 1 开始的,而不是像 Java 或 Python 那样从 0 开始。2.NULL 值陷阱:在使用
CONCAT拼接时,如果其中任何一个参数是NULL,在很多数据库(如 MySQL)中整个结果都会变成NULL。
_解决方法_:使用 `CONCAT_WS`(可以指定分隔符并跳过空值)。
3.多字节字符(中文):有些数据库的
SUBSTR是按字符截取,有些是按字节截取。在 MySQL 中,SUBSTR通常按字符截取,非常友好。
数值函数
| 函数 | 功能 | 示例代码块 |
|---|---|---|
| CEIL(x) | 向上取整(返回大于等于 x 的最小整数) | SELECT CEIL(1.1); → 2 |
| FLOOR(x) | 向下取整(返回小于等于 x 的最大整数) | SELECT FLOOR(1.9); → 1 |
| MOD(x, y) | 取模(返回 x 除以 y 的余数) | SELECT MOD(10, 3); → 1 |
| RAND() | 随机数(返回 0~1 之间的随机浮点数) | SELECT RAND(); |
| ROUND(x, y) | 四舍五入(对 x 求值,保留 y 位小数) | SELECT ROUND(2.345, 2); → 2.35 |
| ABS(x) | 绝对值 | SELECT ABS(-5); → 5 |
豫公网安备41019702004633号