本文最后更新于 598 天前,其中的信息可能已经过时,如有错误请发送邮件到wuxianglongblog@163.com
MySQL 常用函数汇总
字符串函数
| 函数 |
功能 |
| CONCAT(s1,s2,……) |
字符串连接 |
| INSERT(str,x,y,instr) |
将指定开始标记到结束的字符串替换为指定字符串 |
| LOWER(str) |
将字符串所有字符转为小写 |
| UPPER(str) |
将字符串所有字符串转为大写 |
| LEFT(str,x) |
返回字符串 str 最左边的 x 个字符 |
| RIGHT(str,x) |
返回字符串 str 最右边的 x 个字符 |
| LPAD(str,n,pad) |
在 str 最左边填充 n 个 pad |
| RPAD(str,n,pad) |
在 str 最右边填充 n 个 pad |
| LTRIM(str) |
去掉字符串 str 左侧的空格 |
| RTRIM(str) |
去掉字符串 str 右侧的空格 |
| REPEAT(str,x) |
返回 str 重复 x 次的结果 |
| STRCMP(s1,s2) |
比较字符串 s1 和 s2 |
| REPLACE(str,a,b) |
用字符串 b 替换字符串 str 中所有出现的字符串 a |
| TRIM(str) |
去掉字符串行尾和行头的空格 |
| SUBSTRING(str,x,y) |
返回从字符串 str x 位置起 y 个字符长度的字串 |
数学函数
| 函数 |
功能 |
| ABS(x) |
返回 x 的绝对值 |
| CEIL(x) |
返回大于 x 的最小整数值 |
| FLOOR(x) |
返回小于 x 的最大整数值 |
| MOD(x,y) |
返回 x/y 的模 |
| RAND() |
返回 0~1 内的随机值 |
| ROUND(x,y) |
返回参数 x 的四舍五入的有 y 位小数的值 |
| TRUNCATE(x,y) |
返回数字 x 截断位 y 位小数的结果 |
日期和时间函数
| 函数 |
功能 |
| CURDATE() |
返回当前日期 |
| CURTIME() |
返回当前时间 |
| NOW() |
返回当前的日期和时间 |
| UNIX_TIMESTAMP(date) |
返回日期 date 的 UNIX 时间戳 |
| FROM_UNIXTIME |
返回 UNIX 时间戳的日期值 |
| WEEK(date) |
返回日期 date 为一年中的第几周 |
| YEAR(date) |
返回日期 date 的年份 |
| HOUR(time) |
返回 time 的小时值 |
| MINUTE(time) |
返回 time 的分钟值 |
| MONTHNAME(date) |
返回 date 的月份名 |
| DATE_FORMAT(date,fmt) |
返回按字符串 fmt 格式日期 date 值 |
| DATE_ADD(date,interval expr type) |
返回一个日期或时间值加上一个时间间隔的时间值 |
| DATEDIFF(expr,expr2) |
返回起始时间 expr 和结束时间 expr2 之间的天数 |
流程函数
| 函数 |
功能 |
| IF(value,t f) |
如果 value 是真,返回 t;否则返回 f |
| IFNULL(value1,value2) |
如果 value1 不为空,返回 value1,否则返回 value2 |
| CASE WHEN [value1] THEN[result1]...ELSE[default]END |
如果 value1 是真,返回 result1,否则返回 result |
| CASE[expr] WHEN [value1]THEN[result1]...ELSE[default]END |
如果 expr 等于 value1,返回 result1,否则返回 default |
其他常用函数
| 函数 |
功能 |
| DATEBASE() |
返回当前数据库名 |
| VERSION() |
返回当前数据库版本 |
| USER() |
返回当前登录用户名 |
| INET_ATON(ip) |
返回 ip 地址的数字表示 |
| INET_NTOA(num) |
返回数字代表的 ip 地址 |
| PASSWORD(str) |
返回字符串 str 的加密版本 |
| MD5() |
返回字符串 str 的 md5 值 |
谨此笔记,记录过往。凭君阅览,如能收益,莫大奢望。