mysql函数大全
描述:巩固一下,避免和oracle函数混淆。
字符串函数
函数 | 描述 |
---|---|
ASCII(str) |
返回字符串str的第一个字符的ASCII码 |
CHAR_LENGTH(str) |
返回字符串str的字符数 |
CONCAT(str1, str2, ...strn) |
将字符串str1、str2、...strn合并为一个字符串 |
CONCAT_WS(splitStr, str1, str2,...strn) |
同CONCAT(str1, str2, ...str , 区别在于每个字符串之间需添加splitStr字符串 |
FIELD(str, str1, str2, ...strn) |
返回第一个字符串str在字符串列表(str1, str2, ...strn)中的位置 |
FIND_IN_SET(str1, str2) |
返回字符串str2中str1的位置 |
INSERT(str1, x, len, str2) |
字符串str2替换str1的x位置开始长度为len的字符串 |
LOCATE(str1, str) |
从字符串str中获取str1的开始位置 |
LEFT(str, n) |
返回字符串str的前n个字符 |
LPAD(str1, len, str2) |
在字符串str1的开始处填充字符串str2,使字符串长度达到len |
LTRIM(str) |
去掉字符串str开始处的空格 |
POSITION(str1 IN str) |
从字符串str中获取str1的开始位置 |
REPEAT(str, n) |
将字符串str重复n次 |
REPLACE(str, str1, str2) |
将字符串str中的str1替换成str2 |
REVERSE(str) |
反转字符串str |
RIGHT(str, n) |
返回字符串str的最后n个字符 |
RPAD(str1, len, str2) |
在字符串str1结尾添加字符串str2,使其长度到达len |
RTRIM(str) |
去掉字符串str结尾的空格 |
SPACE(n) |
返回n个空格 |
STRCMP(str1, str2) |
比较字符串str1和str2,如果str1 = str2 ,返回0;如果str1 > str2,返回1; 如果str1 < str2 返回-1 |
MID(str, n, len) |
从字符串str的n位置截取长度为len的字符串,同SUBSTRING(str, n, len) |
SUBSTR(str, n, len) |
截取字符串str, n位置开始,长度为len的字符串 |
SUBSTRING(str, n, len) |
同SUBSTR(str, n, len) |
SUBSTRING_INDEX(str, delimiter, number) |
返回从字符串str的第number个出现delimiter分隔符后的子串。如果number是正数返回左边的字符串,反之右边 |
TRIM(str) |
去掉字符串str开始和结尾的空格 |
UCASE(str) |
将字符串转换为大写 |
UPPER(str) |
将字符串转换为大写 |
LCASE(str) |
将字符串str的所有字母变成小写字母 |
LOWER(str) |
将字符串str的所有字母变成小写字母 |
数字函数
函数 | 描述 |
---|---|
ABS(x) |
返回x的绝对值 |
ACOS(x) |
求x的反余弦值(单位为弧度) |
ASIN(x) |
求x的反正弦值(单位为弧度) |
ATAN(x) |
求x的反正切值(单位为弧度) |
ATAN2(n, m) |
求反正切值(单位为弧度) |
AVG(expression) |
返回一个表达式的平均值,expression是一个字段 |
CEIL(x) |
返回大于或等于x的最小整数 |
CEILING(x) |
返回大于或等于x的最小整数 |
SIN(x) |
求正弦值(参数为弧度) |
COS(x) |
求余弦值(参数为弧度) |
COT(x) |
求余切值(参数为弧度) |
TAN(x) |
求正切值(参数为弧度) |
COUNT(expression) |
返回查询的记录总数 |
DEGREES(x) |
将弧度转化为角度 |
n DIV m |
整除 n为b被除数,m为除数 |
EXP(x) |
返回e的x次方 |
FLOOR(x) |
返回小于或等于x的最大整数 |
GREATEST(expr1, expr2, ...exprn) |
返回列表中的最大值 |
LEAST(expr1, expr2, ...exprn) |
返回列表中的最小值 |
LN |
返回数字的自然对数,以e为底 |
LOG(x) 或LOG(base, x) |
返回自然对数,以e为底,如果带base参数,则base为指定带底数 |
LOG10(x) |
返回10为底的对数 |
LOG2(x) |
返回2为底的对数 |
MAX(expression) |
返回字段expression中的最大值 |
MIN(expression) |
返回字段expression中的最小值 |
MOD(x, y) |
返回x除以y后的余数 |
PI() |
返回圆周率 |
POWER(x, y) |
返回x的y次方 |
RADIANS(x) |
将角度转为弧度 |
RAND() |
返回0-1的随机数 |
ROUND(x[, y]) |
返回离x最近的整数,可选参数y表示要四舍五入的小数位数,如果省略,则返回整数 |
SIGN(x) |
返回x的符号, 负数返回-1,0返回0,正数返回1 |
SQRT(x) |
返回x的平方根 |
SUM(expression) |
返回指定字段的总和 |
TRUNCATE(x, y) |
返回数值保留小数点y位后的值(与ROUND(x[, y]) 的区别是不会进行四舍五入) |
日期函数
函数 | 描述 |
---|---|
ADDDATE(d, n) |
计算起始日期d加上n天d的日期 |
ADDTIME(t, n) |
n是一个时间表达式,时间t加上时间表达式n |
CURDATE() |
返回当前日期 |
CURRENT_DATE() |
返回当前日期 |
CURRENT_TIME |
返回当前时间 |
CURRENT_TIMESTAMP() |
返回当前日期和时间 |
CURTIME() |
返回当前时间 |
DATE() |
从日或者时间表达式中提取日期值 |
DATEDIFF(day1, day2) |
计算日期day1和day2之间相隔的天数 |
DATE_ADD(d, INTERVAL expr type) |
计算起始日期d加上一个时间段后的日期,type值可以是:MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH |
DATE_FORMAT(date, format) |
将日期date转换为format格式 |
DATE_SUB(date, INTERVAL expr type) |
date日期减去指定时间间隔 |
DAY(date) |
返回日期date的日期部分 |
DAYNAME(date) |
返回日期date是星期几,如Monday |
DAYOFMONTH(date) |
计算日期date是当月的第几天 |
DAYOFWEEK(date) |
计算日期date是星期几,1-7:星期一-星期日 |
DAYOFYEAR(date) |
计算日期date是当年的第几天 |
EXTRACT(type FROM date) |
从日期date中获取指定的值,type指定返回的值。type可取: MICROSECOND SECOND MINUTE HOUR DAY WEEK MONTH QUARTER YEAR SECOND_MICROSECOND MINUTE_MICROSECOND MINUTE_SECOND HOUR_MICROSECOND HOUR_SECOND HOUR_MINUTE DAY_MICROSECOND DAY_SECOND DAY_MINUTE DAY_HOUR YEAR_MONTH |
FROM_DAYS(n) |
计算从0000年1月1日开始n天后的日期 |
HOUR(t) |
返回t中的小时值 |
LAST_DAY(date) |
返回日期date当月的最后一天 |
LOCALTIME() |
返回当前日期和时间 |
LOCALTIMESTAMP() |
返回当前日期和时间 |
MAKEDATE(year, day-of-year) |
基于给定参数年份year和所在年中的天数序号day-of-year返回一个日期 |
MAKETIME(hour, minute, second) |
组合时间 |
MICROSECOND(date) |
返回日期date对应的微秒数 |
MINUTE(t) |
返回t中的分钟值 |
MONTHNAME(date) |
返回日期中的月份名称,如November |
MONTH(date) |
返回日期date的月份值,1-12 |
NOW() |
返回当前日期和时间 |
PERIOD_ADD(period, number) |
为年-月 组合日期添加一个时段 |
PERIOD_DIFF(period1, period2) |
返回两个时段之间的月份差值 |
QUARTER(date) |
返回日期date是第几季节,1-4 |
SECOND(t) |
返回t中的秒钟值 |
SEC_TO_TIME(s) |
将以秒为单位的时间s转换为时分秒格式 |
STR_TO_DATE(str, format) |
将字符串转为日期 |
SUBDATE(date, n) |
日期date减去n天后的日期 |
SUBTIME(time, n) |
时间time减去n秒后的时间 |
SYSDATE() |
返回当前日期和时间 |
TIME(expression) |
提取传入表达式的时间部分 |
TIME_FORMAT(time, format) |
将时间time转为format格式 |
TIME_TO_SEC(time) |
将时间time转为秒 |
TIMEDIFF(time1, time2) |
计算时间差值 |
TIMESTAMP(expression, interval) |
单个参数时,返回日期或日期时间表达式;两个参数时,将参数加和 |
TIMESTAMPDIFF(unit, datime1, datetime2) |
计算时间差, datetime2 - datetime1 |
TO_DAYS(date) |
计算日期date距离0000年1月1日的天数 |
WEEK(date) |
计算日期date是当年的第几个星期,0-53 |
WEEKDAY(date) |
日期date是星期几, 0-6代表星期一到星期日 |
WEEKOFYEAR(date) |
计算日期date是当年的第几个星期,0-53 |
YEAR(date) |
返回日期date年份 |
YEARWEEK(date, mode) |
返回年份及第几周(0-53),mode中0表示周天, 1-6表示周一到周六 |
聚合函数
函数 | 描述 |
---|---|
MAX(column) |
查询指定字段值中的最大值 |
MIN(column) |
查询指定字段值中的最小值 |
COUNT(column) |
统计查询结果的行数 |
SUM(column) |
求和指定字段的所有值 |
AVG(column) |
求指定字段的平均值 |
GROUP_CONCAT(column) |
返回指定子u的那所有值组合成的结果 |
DISTINCT(column) |
对于查询结果中的指定的字段去重 |
控制流程函数
函数 | 描述 |
---|---|
IF(expr, r1, r2) |
expr是表达式,成立返回r1,否则返回r2 |
IFNULL(v, r) |
如果v不为Null返回v,否则返回r |
NULLIF(v1, v2) |
如果v1==v2,返回null,否则返回v1 |
加密函数
函数 | 描述 |
---|---|
PASSWORD(str) |
将字符串str以数据库密码形式加密 |
MD5(str) |
对字符串str进行MD5不可逆算法模式加密 |
ENCODE(str, key) |
以key为密钥对字符串str进行加密(对称加密算法) |
DECODE(str, key) |
通过密钥key对字符串str进行解密 |
AES_ENCRYPT(str, key) |
通过key密钥对str字符串,以AES算法进行加密 |
AES_DECRYPT(str, key) |
通过key密钥对str字符串,以AES算法进行解密 |
SHA(str) |
计算str字符串的散列算法校验值 |
ENCRYPT(str, salt) |
使用salt盐值对str字符串进行加密 |
DECRYPT(str, salt) |
使用salt盐值对str字符串进行解密 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了