mysql数据函数汇总

本文详细介绍了SQL中的字符串、数字、日期函数,包括ASCII、CHAR_LENGTH、CONCAT、DATE_FORMAT等,以及不同类型的数据类型和高级函数如CASE, ROUND, TIMESTAMP等。涵盖了基础到进阶的内容,是数据库开发者必备参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

从学习网整理的,想查看sql语句示例,请点击进入RUNOOB网站查看详情。

一、字符串函数

函数名描述
ASCII(s)返回字符串 s 的第一个字符的 ASCII 码。
CHAR_LENGTH(s)返回字符串 s 的字符数。
CHARACTER_LENGTH(s)返回字符串 s 的字符数。
CONCAT(s1,s2…sn)字符串 s1,s2 等多个字符串合并为一个字符串。
CONCAT_WS(x, s1,s2…sn)同上,每个字符串之间要加上 x,x 可以是分隔符。
FIELD(s,s1,s2…)返回第一个字符串 s 在字符串列表(s1,s2…)中的位置。
FIND_IN_SET(s1,s2)返回在字符串s2中与s1匹配的字符串的位置。
FORMAT(x,n)将数字 x 进行英式数字分隔,并保留 n 个小数。
INSERT(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串。
LOCATE(s1,s)从字符串 s 中获取 s1 的开始位置。
LCASE(s)将字符串 s 的所有字母变成小写字母。
LOWER(s)将字符串 s 的所有字母变成小写字母。
LEFT(s,n)返回字符串 s 的前 n 个字符。
LPAD(s1,len,s2)在字符串 s1 的开始处填充字符串 s2,使长度达到 len。
LTRIM(s)去掉字符串 s 开始处的空格。
SUBSTRING(s, n, len)从字符串 s 的 n 位置截取长度为 len 的子字符串。
SUBSTR(s, n, len)同上,从字符串 s 的 n 位置截取长度为 len 的子字符串。
MID(s,n,len)同上,从字符串 s 的 n 位置截取长度为 len 的子字符串。
POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置。
REPEAT(s,n)将字符串 s 重复 n 次。
REPLACE(s,s1,s2)将字符串 s2 替代字符串 s 中的字符串 s1。
REVERSE(s)将字符串s的顺序反过来。
RIGHT(s,n)返回字符串 s 的后 n 个字符。
RPAD(s1,len,s2)在字符串 s1 的结尾处添加字符串 s2,使长度达到 len。
RTRIM(s)去掉字符串 s 结尾处的空格。
SPACE(n)返回 n 个空格。
STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1。
SUBSTRING_INDEX(s, d, n)返回从字符串 s 的第 n 个出现的分隔符 d 之后的子串。如果 n 是正数,返回第 n 个字符左边的字符串。如果 n 是负数,返回第(n 的绝对值(从右边数))个字符右边的字符串。
TRIM(s)去掉字符串 s 开始和结尾处的空格。
UCASE(s)将字符串转换为大写。
UPPER(s)将字符串转换为大写。

二、数字函数

函数名描述
ABS(x)返回 x 的绝对值。
ACOS(x)求 x 的反余弦值(单位为弧度),x 为一个数值。
ASIN(x)求反正弦值(单位为弧度),x 为一个数值。
ATAN(x)求反正切值(单位为弧度),x 为一个数值。
ATAN2(n, m)求反正切值(单位为弧度)。
AVG(expression)返回一个表达式的平均值,expression 是一个字段。
CEIL(x)返回大于或等于 x 的最小整数。
CEILING(x)返回大于或等于 x 的最小整数。
COS(x)求余弦值(参数是弧度)。
COT(x)求余切值(参数是弧度)。
COUNT(expression)返回查询的记录总数。
DEGREES(x)将弧度转换为角度。
n DIV m整除,n 为被除数,m 为除数。
EXP(x)返回 e 的 x 次方。
FLOOR(x)返回小于或等于 x 的最大整数。
GREATEST(e1, e2, e3, …)返回列表中的最大值。
LEAST(e1, e2, e3, …)返回列表中的最小值。
LN返回数字的自然对数,以 e 为底。
LOG(x)返回自然对数(以 e 为底的对数)。
LOG(base, x)返回自然对数base 为指定的底数。
LOG10(x)返回以 10 为底的对数。
LOG2(x)返回以 2 为底的对数。
MAX(expression)返回字段 expression 中的最大值。
MIN(expression)返回字段 expression 中的最小值。
MOD(x,y)返回 x 除以 y 以后的余数。
PI()返回圆周率(3.141593)。
POW(x,y)返回 x 的 y 次方。
POWER(x,y)返回 x 的 y 次方。
RADIANS(x)将角度转换为弧度。
RAND()返回 0 到 1 的随机数。
ROUND(x)返回离 x 最近的整数。
SIGN(x)返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1。
SIN(x)求正弦值(参数是弧度)。
SQRT(x)返回x的平方根。
SUM(expression)返回指定字段的总和。
TAN(x)求正切值(参数是弧度)。
TRUNCATE(x,y)返回数值 x 保留到小数点后 y 位的值(不进行四舍五入)。

三、日期函数

函数名描述
ADDDATE(d,n)计算起始日期 d 加上 n 天的日期。
ADDTIME(t,n)n 是一个时间表达式,时间 t 加上时间表达式 n。
CURDATE()返回当前日期。
CURRENT_DATE()返回当前日期。
CURRENT_TIME返回当前时间。
CURRENT_TIMESTAMP()返回当前日期和时间。
CURTIME()返回当前时间。
DATE()从日期或日期时间表达式中提取日期值。
DATEDIFF(d1,d2)计算日期 d1->d2 之间相隔的天数。
DATE_ADD(d,INTERVAL expr type)计算起始日期 d 加上一个时间段后的日期,type 值在下表
DATE_FORMAT(d,f)按表达式 f的要求显示日期 d。
DATE_SUB(date,INTERVAL expr type)函数从日期减去指定的时间间隔。
DAY(d)返回日期值 d 的日期部分。
DAYNAME(d)返回日期 d 是星期几,如 Monday。
DAYOFMONTH(d)计算日期 d 是本月的第几天。
DAYOFWEEK(d)日期 d 今天是星期几,1 星期日,2 星期一,…。
DAYOFYEAR(d)计算日期 d 是本年的第几天。
EXTRACT(type FROM d)从日期 d 中获取指定的值,type 指定返回的值。type 值在下表
FROM_DAYS(n)计算从 0000 年 1 月 1 日开始 n 天后的日期。
HOUR(t)返回 t 中的小时值。
LAST_DAY(d)返回给给定日期的那一月份的最后一天。
LOCALTIME()返回当前日期和时间。
LOCALTIMESTAMP()返回当前日期和时间。
MAKEDATE(year, day-of-year)基于给定参数年份 year 和所在年中的天数序号 day-of-year 返回一个日期。
MAKETIME(hour, minute, second)组合时间,参数分别为小时、分钟、秒。
MICROSECOND(date)返回日期参数所对应的微秒数。
MINUTE(t)返回 t 中的分钟值。
MONTHNAME(d)返回日期当中的月份名,如 November。
MONTH(d)返回日期d中的月份值,1 到 12。
NOW()返回当前日期和时间。
PERIOD_ADD(period, number)为 年-月 组合日期添加一个时段。
PERIOD_DIFF(period1, period2)返回两个时段之间的月份差值。
QUARTER(d)返回日期d是第几季节,返回 1 到 4。
SECOND(t)返回 t 中的秒钟值。
SEC_TO_TIME(s)将以秒为单位的时间 s 转换为时分秒的格式。
STR_TO_DATE(string, format_mask)将字符串转变为日期。
SUBDATE(d,n)日期 d 减去 n 天后的日期。
SUBTIME(t,n)时间 t 减去 n 秒的时间。
SYSDATE()返回当前日期和时间。
TIME(expression)提取传入表达式的时间部分。
TIME_FORMAT(t,f)按表达式 f 的要求显示时间 t。
TIME_TO_SEC(t)将时间 t 转换为秒。
TIMEDIFF(time1, time2)计算时间差值。
TIMESTAMP(expression, interval)单个参数:返回日期或日期时间表达式;2个参数:将参数加和。
TIMESTAMPDIFF(unit,expr1,expr2计算时间差,返回 expr2 − expr1 的时间差。
TO_DAYS(d)计算日期 d 距离 0000 年 1 月 1 日的天数。
WEEK(d)计算日期 d 是本年的第几个星期,范围是 0 到 53。
WEEKDAY(d)日期 d 是星期几,0 表示星期一,1 表示星期二。
WEEKOFYEAR(d)计算日期 d 是本年的第几个星期,范围是 0 到 53 。
YEAR(d)返回年份。
YEARWEEK(date, mode)返回年份及第几周(0到53),mode 中 0 :周天,1:周一。

点击进入W3schoolAPI网站查看函数详情。

四、type类型值

类型名描述
MICROSECOND时间或日期时间表达式expr的微秒,范围从0到999999的数字。
SECOND时间秒值,范围为0-59。
MINUTE时间的分钟部分,范围为0-59。
HOUR时间的小时部分。日期范围为0至23时小时的值。
DAY日期的天数。
WEEK日期的周数、
MONTH日期的月份部分,范围为0-12。
QUARTER年份日期的季度值,范围为1-4。
YEAR年份日期,范围为1000-9999或0
SECOND_MICROSECOND秒和毫秒。
MINUTE_MICROSECOND分钟,秒,毫秒。
MINUTE_SECOND分钟和秒 。“MINUTES:SECONDS”
HOUR_MICROSECOND小时, 分钟,秒,毫秒。
HOUR_SECOND小时, 分钟。 “HOURS:MINUTES:SECONDS”
HOUR_MINUTE小时和分钟。“HOURS:MINUTES”
DAY_MICROSECOND天, 小时, 分钟,秒,毫秒。
DAY_SECOND天, 小时, 分钟, 秒 “DAYS HOURS:MINUTES:SECONDS”
DAY_MINUTE天,小时, 分钟 “DAYS HOURS:MINUTES”
DAY_HOUR天和小时。“DAYS HOURS”
YEAR_MONTH年和月。“YEARS-MONTHS”

五、高级函数

函数名描述
BIN(x)返回 x 的二进制编码。
BINARY(s)将字符串 s 转换为二进制字符串。
CASE expression WHEN condition1 THEN result1 …WHEN conditionN THEN resultN ELSE result ENDCASE 表示函数开始,END 表示函数结束。如果 condition1 成立,则返回 result1, 如果 condition2 成立,则返回 result2,当全部不成立则返回 result,而当有一个成立之后,后面的就不执行了。
CAST(x AS type)转换数据类型。
COALESCE(expr1, expr2, …, expr_n)返回参数中的第一个非空表达式(从左向右)。
CONNECTION_ID()返回唯一的连接 ID。
CONV(x,f1,f2)返回 f1 进制数变成 f2 进制数。
CONVERT(s USING cs)函数将字符串 s 的字符集变成 cs。
CURRENT_USER()返回当前用户。
DATABASE()返回当前数据库名。
IF(expr,v1,v2)如果表达式 expr 成立,返回 v1;否则,返回 v2。
IFNULL(v1,v2)如果 v1 的值不为 NULL,则返回 v1,否则返回 v2。
ISNULL(expression)判断表达式是否为 NULL。
LAST_INSERT_ID()返回最近生成的 AUTO_INCREMENT 值
NULLIF(expr1, expr2)比较两个字符串,如果 expr1=expr2 返回 NULL,否则返回 expr1
SESSION_USER()返回当前用户。
SYSTEM_USER()返回当前用户。
USER()返回当前用户
VERSION()返回数据库的版本号

六、其他

1.mybatis中mapper.xml文件特殊符号。
在这里插入图片描述%Y-%m-%d %H:%i:%s

2.实体类中date字段添加时间格式注解。

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

3.vue表单展示。

<el-table-column label="时间" align="center" prop="time"  width="250">
        <template slot-scope="scope">
          <span>{{ parseTime(scope.row.time, '{y}-{m}-{d} {h}:{i}:{s}') }}</span>
        </template>
</el-table-column>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值