MySQL常用函数一览
- 行业动态
- 2024-04-25
- 4967
MySQL常用函数一览
字符串函数
函数名 | 功能描述 |
CONCAT(str1, str2, …) | 连接字符串 |
LENGTH(str) | 返回字符串的长度 |
SUBSTRING(str, pos, len) | 从字符串中提取子串 |
REPLACE(str, from_str, to_str) | 替换字符串中的子串 |
UPPER(str) | 将字符串转换为大写 |
LOWER(str) | 将字符串转换为小写 |
LTRIM(str) | 去除字符串左侧的空格 |
RTRIM(str) | 去除字符串右侧的空格 |
TRIM(str) | 去除字符串两侧的空格 |
REVERSE(str) | 反转字符串 |
INSTR(str, substr) | 返回子串在字符串中的位置 |
LOCATE(substr, str) | 返回子串在字符串中的位置(区分大小写) |
POSITION(substr IN str) | 返回子串在字符串中的位置(不区分大小写) |
LEFT(str, len) | 返回字符串左侧的len个字符 |
RIGHT(str, len) | 返回字符串右侧的len个字符 |
MID(str, pos, len) | 返回字符串从pos位置开始的len个字符 |
FIND_IN_SET(str, str_list) | 查找字符串在逗号分隔的列表中的位置 |
ASCII(str) | 返回字符串第一个字符的ASCII码值 |
ORD(str) | 返回字符串第一个字符的Unicode码值 |
CHR(n) | 返回Unicode码值为n的字符 |
BIN(n) | 将整数n转换为二进制字符串 |
OCT(n) | 将整数n转换为八进制字符串 |
HEX(n) | 将整数n转换为十六进制字符串 |
UNHEX(str) | 将十六进制字符串转换为整数 |
ELT() | 根据索引返回数组元素,类似于Python的索引操作 |
FIELD() | 根据字段位置返回表字段的值,类似于SQL Server的PIVOT操作 |
数值函数
函数名 | 功能描述 |
ABS(x) | 返回x的绝对值 |
SQRT(x) | 返回x的平方根 |
PI() | 返回圆周率π的值(3.1415926…) |
NULLIF(x, y) | 如果x等于y,则返回NULL,否则返回x的值 |
COALESCE(x, y, z, …) | 如果x为NULL,则返回y,如果y也为NULL,则返回z,以此类推,否则返回x的值 |
IFNULL(x, y) | 如果x为NULL,则返回y,否则返回x的值(与COALESCE类似) |
Nvl(x, y)(MySQL特有) | 如果x为NULL,则返回y,否则返回x的值(与IFNULL类似) |
FLOOR(x) | 返回小于或等于x的最大整数(向下取整) |
CEILING(x) | 返回大于或等于x的最小整数(向上取整) |
RAND() | 返回0到1之间的随机数(包括0和1) |
RAND() * (max min + 1) + min(MySQL特有) | 生成指定范围内的随机数(包括min和max) |
TRUNCATE(x, y)(MySQL特有) | 将x截断为y位小数,并返回截断后的值(类似于ROUND函数) |
FLOOR(x)/y(MySQL特有) | x除以y后向下取整(类似于FLOOR函数) |
FLOOR(x)/y(MySQL特有)+1(MySQL特有) | x除以y后向上取整(类似于CEILING函数) |
日期和时间函数
函数名 | 功能描述 |
NOW()(MySQL特有) | 返回当前日期和时间的时间戳(Unix时间戳) |
CURDATE()(MySQL特有) | 返回当前日期的日期值(YYYYMMDD) |
CURTIME()(MySQL特有) | 返回当前时间的日期值(HH:MM:SS) |
YEAR(date)(MySQL特有) | 返回日期date中的年份值(四位数字) |
QUARTER(date)(MySQL特有) | 返回日期date中的季度值(14) |
WEEKDAY(date)(MySQL特有) | 返回日期date是星期几(06,0表示周日,6表示周六) |
WEEK(date)(MySQL特有) | 返回日期date是一年中的第几周(153,1表示第1周,53表示第53周) |
| YEARWEEK(date, mode)(MySQL特有)| 根据mode模式返回日期date是一年中的第几周(153,1表示第1周,53表示第53周),mode可以是0或1,0表示从周日开始计算,1表示从周一开始计算;YEARWEEK(‘20220801’, ‘1’) = 34,YEARWEEK(‘20220801’, ‘0’) = 33;注意:MySQL不支持YEARWEEK函数,可以使用以下自定义函数替代:SELECT WEEK('20220801', '+1', 'weekday') AS week;,+1’表示从周一开始计算,’weekday’表示使用周几作为起始日;SELECT WEEK('20220801', '+1', 'sunday') AS week;表示从周日开始计算。
本站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本站,有问题联系侵删!
本文链接:http://www.xixizhuji.com/fuzhu/242666.html