MySQL | 函数

本文更新于 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
今日访问 ... 次 | 今日访客 ... 人 | 本页阅读 ...
小站已萌萌哒运行了 0 0 0
已累计耕耘 33 篇博文 · 共 115.17k 个字
总访问量 ...
备案图标 豫公网安备41019702004633号