当前位置:首页 > 行业动态 > 正文

MySQL常用函数一览

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;表示从周日开始计算。

0

随机文章