mysql 中常用的函数

目录

数学

1、获取绝对值(abs)

2、获取小于等于X的最大值(floor(x))

3、获取随机数(rand())

4、设置保留几位数

四舍五入(round(x))

直接截断,不四舍五入(truncate(x,y))

日期和时间函数

获取当前

获取当前日期和时间(now())

获取当前日期(curdate()函数和current_date())

获取当前时间(curtime()函数和current_time())

时间计算

计算日期t1与t2之间相隔的天数(datediff(t1,t2))

返回t日期加上n天后的日期

返回t日期减去n天的日期

其他

时间格式转换

返回时间的年、月、日

返回当月的最后一天

字符串函数

转换

计算长度

获取位置

接连不同字符串

去除空格

截取

逻辑条件函数

系统信息函数


数学

1、获取绝对值(abs)

abs(x)函数用于求绝对值。

2、获取小于等于X的最大值(floor(x))

floor(x)函数返回小于或等于x的最大整数。

3、获取随机数(rand())

rand()函数是返回0~1的随机数

4、设置保留几位数

四舍五入(round(x))

round(x)函数对x四舍五入,round(x,y)返回x保留到y位,截断时进行四舍五入处理。

直接截断,不四舍五入(truncate(x,y)

truncate(x,y)函数返回x保留到小数点后y位的值。

日期和时间函数

获取当前

获取当前日期和时间(now())

now()函数可以获取当前日期和时间。

获取当前日期( curdate()函数和current_date())

curdate()函数和current_date()函数都可以获取当前日期。

获取当前时间(curtime()函数和current_time())

时间计算

计算日期t1与t2之间相隔的天数( datediff(t1,t2)

datediff(t1,t2)函数用于计算日期t1与t2之间相隔的天数。

返回t日期加上n天后的日期

adddate(expr,days)函数返回expr日期加上days天的日期。

ADDDATE(date,INTERVAL expr unit) INTERVAL表示关键字,expr表示数量,unit表示单位

date_add(date,INTERVAL expr unit)ADDDATE

返回t日期减去n天的日期

SUBDATE(expr,days)函数返回expr日期减去days天的日期。

subdate(date,INTERVAL expr unit) INTERVAL表示关键字,expr表示数量,unit表示单位

date_sub(date,INTERVAL expr unit) 同subdate

其他

时间格式转换

DATE_FORMAT(date,format):日期格式转换

下表说明了可用于构建日期格式字符串的说明符及其含义

限定符 含义
%a 三个字符缩写的工作日名称,例如:Mon , Tue , Wed,等
%b 三个字符缩写的月份名称,例如:JanFebMar
%c 以数字表示的月份值,例如:1, 2, 3...12
%D 英文后缀如:0th , 1st , 2nd等的一个月之中的第几天
%d 如果是1个数字(小于10),那么一个月之中的第几天表示为加前导加0, 如:00, 01,02, ...31
%e 没有前导零的月份的日子,例如:1,2,... 31
%f 微秒,范围在000000..999999
%H 24小时格式的小时,前导加0,例如:00,01...23
%h 小时,12小时格式,带前导零,例如:01,02 ... 12
%I %h相同
%i 分数为零,例如:00,01,... 59
%j 一年中的的第几天,前导为0,例如,001,002,... 366
%k 24小时格式的小时,无前导零,例如:0,1,2 ... 23
%l 12小时格式的小时,无前导零,例如:0,1,2 ... 12
%M 月份全名称,例如:January, February,...December
%m 具有前导零的月份名称,例如:00,01,02,... 12
%p AMPM,取决于其他时间说明符
%r 表示时间,12小时格式hh:mm:ss AMPM
%S 表示秒,前导零,如:00,01,... 59
%s %S相同
%T 表示时间,24小时格式hh:mm:ss
%U 周的第一天是星期日,例如:00,01,02 ... 53时,前导零的周数
%u 周的第一天是星期一,例如:00,01,02 ... 53时,前导零的周数
%V %U相同,它与%X一起使用
%v %u相同,它与%x一起使用
%W 工作日的全称,例如:Sunday, Monday,..., Saturday
%w 工作日,以数字来表示(0 = 星期日,1 = 星期一等)
%X 周的四位数表示年份,第一天是星期日; 经常与%V一起使用
%x 周的四位数表示年份,第一天是星期日; 经常与%v一起使用
%Y 表示年份,四位数,例如2000,2001,...等。
%y 表示年份,两位数,例如00,01,...等。
%% 将百分比(%)字符添加到输出

以下是一些常用的日期格式字符串:

DATE_FORMAT字符串 格式化日期
%Y-%m-%d 2017-4-30
%e/%c/%Y 4/7/2013
%c/%e/%Y 7/4/2013
%d/%m/%Y 4/7/2013
%m/%d/%Y 7/4/2013
%e/%c/%Y %H:%i 4/7/2013 11:20
%c/%e/%Y %H:%i 7/4/2013 11:20
%d/%m/%Y %H:%i 4/7/2013 11:20
%m/%d/%Y %H:%i 7/4/2013 11:20
%e/%c/%Y %T 4/7/2013 11:20
%c/%e/%Y %T 7/4/2013 11:20
%d/%m/%Y %T 4/7/2013 11:20
%m/%d/%Y %T 7/4/2013 11:20
%a %D %b %Y Thu 4th Jul 2013
%a %D %b %Y %H:%i Thu 4th Jul 2013 11:20
%a %D %b %Y %T Thu 4th Jul 2013 11:20:05
%a %b %e %Y Thu Jul 4 2013
%a %b %e %Y %H:%i Thu Jul 4 2013 11:20
%a %b %e %Y %T Thu Jul 4 2013 11:20:05
%W %D %M %Y Thursday 4th July 2013
%W %D %M %Y %H:%i Thursday 4th July 2013 11:20
%W %D %M %Y %T Thursday 4th July 2013 11:20:05
%l:%i %p %b %e, %Y 7/4/2013 11:20
%M %e, %Y 4-Jul-13
%a, %d %b %Y %T Thu, 04 Jul 2013 11:20:05
返回时间的年、月、日

YEAR(date1)、MONTH(date1) 、DAY(date1):返回年、月、日

返回当月的最后一天

LAST_DAY(date1):返回当月的最后一天 。

字符串函数

转换

Lcase(str):将字符串str的所有字母变成小写字母

Ucase(str):将字符串str的所有字母变成大写字母

计算长度

Length(str):计算str的长度

获取位置

Locate(substr,str):返回子串substr在字符串中第一次出现的位置,如果子串substr在字符串str中不存在,则返回0;

POSITION(substr IN str):返回子串substr在字符串str中第一次出现的位置,如果字符substr在字符串中不存在,与locate函数作用一样。

接连不同字符串

1、group_concat([DISTINCT] 要连接的字段 [Order BY 排序字段 ASC/DESC] [Separator '分隔符']) 这个函数必须和group by语句一起使用,将goup by产生的一个分组中的值连接起来,返回一个字符串结果

2、CONCAT_WS('分隔符',str1,str2) 第一个参数为分隔符,相比于concat函数可以一次性指定分隔符

3、CONCAT(str1,str2,...) :将多个字符串连接成一个字符串

去除空格

Rtrim():去除字符串右端空格

Ltrim():去除字符串左端空格

Trim():去除字符串两端空格

截取

1、Right(s,n):返回字符串s的后n个字符

2、Left(s,n):返回字符串s的前n个字符

3、substring(s,n,len):返回从字符串s的n位置截取的长度为len的子字符串

4、Replace(s,s1,s2):替换函数,用s2替换s中的s1

逻辑条件函数

(1)if(n,v1,v2):如果表达式n成立,则执行v1;否则执行v2。
(2)ifnull(v1,v2):如果v1不为空,则显示v1的值;否则显示v2的值。
(3)case when n1 then x1 [when n2 then x2...else xn] end
case表示函数开始,end表示函数结束。如果表达式n1成立,则返回x1的值;如果表达式n2成立,则返回x2的值。以此类推,最后遇到else时,返回xn的值。

系统信息函数

select version():获取数据库的版本号。
select connection_id():获取服务器的连接数。
select database():获取当前数据库名。
select user():获取当前用户。

参考:

MySQL之常用函数_mysql常用函数-CSDN博客

MYSQL常用函数总结-CSDN博客

相关推荐
呆呆小金人9 分钟前
SQL入门:正则表达式-高效文本匹配全攻略
大数据·数据库·数据仓库·sql·数据库开发·etl·etl工程师
白鲸开源1 小时前
(二)从分层架构到数据湖仓架构:数据仓库分层下的技术架构与举例
大数据·数据库·数据分析
阿维的博客日记1 小时前
从夯到拉的Redis和MySQL双写一致性解决方案排名
redis·分布式·mysql
好玩的Matlab(NCEPU)1 小时前
Redis vs RabbitMQ 对比总结
数据库·redis·rabbitmq
21号 11 小时前
16.MySQL 服务器配置与管理
服务器·数据库·mysql
我的offer在哪里1 小时前
MongoDB
数据库·mongodb
SamDeepThinking2 小时前
为超过10亿条记录的订单表新增字段
mysql
练习时长一年3 小时前
AI开发结构化输出
数据库
IvorySQL3 小时前
灾难恢复工具内核细节探究与分享
数据库·postgresql·开源
lypzcgf3 小时前
商城小程序数据库表结构文档
数据库·小程序·电商