IE盒子

搜索
查看: 102|回复: 1

MySQL数据库从入门到精通—常用函数— 日期和时间函数

[复制链接]

3

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-12-2 16:38:03 | 显示全部楼层 |阅读模式
日期和时间函数
日期和时间函数是MySQL中常用的一类函数,主要用于处理日期、时间等,具体如表所示。
日期时间相关函数及说明
函数名称说明
CURDATE()或CURRENT_DATE()获取系统当前日期
CURTIME()或CURRENT_TIME()获取系统当前时间
DATE_ADD(date,INTERVAL expr  unit)为指定的日期date加上一个时间间隔值expr,interval是间隔类型关键字,expr是一个表达式(对应后面的类型),unit是时间间隔的单位(间隔类型)
DATE_SUB(date,INTERVAL expr  unit)为指定的日期date减去一个时间间隔值expr
DAYOFWEEK(date)返回指定日期date是一周中的第几天,1表示周日,2表示周一,依此类推
DAYOFMONTH(date)返回指定日期date是一个月中的第几天,范围是1~31
DAYOFYEAR(date)用于返回指定日期date是一年中的第几天,范围是1~366
DAYNAME(date)返回日期date对应的工作日的英文名
MONTHNAME(date)返回日期date对应月份的英文名
SECOND(time)返回时间time对应的秒数,范围是0~59
MINUTE(time)返回时间time对应的分钟数,范围是0~59
HOUR(time)返回时间time对应的小时数
DAY(date)返回指定日期时间date是当月的第几天
WEEK(date,[mode])返回指定日期时间date的周数
MONTH(date)返回指定日期时间date的月数
YEAR(date)返回指定日期时间date的年数
NOW()返回系统当前日期时间

表中列出了日期时间相关函数,接下来详细讲解常用的日期时间函数。
DAY()函数
DAY()函数用于返回指定日期时间是当月的第几天,其语法格式如下。


在以上语法格式中,DAY()函数的返回值的范围为1~31。
使用DAY()函数查询2017年10月25日是当月的第几天。


从以上执行结果可以看出,2017年10月25日是当月的第25天。
WEEK()函数
WEEK()函数用于返回指定日期的周数,其语法格式如下所示。


在以上语法格式中,mode是一个可选参数,用于确定周数计算的逻辑,具体如表7.4所示。如果忽略mode参数,默认情况下WEEK()函数将使用default_week_format系统变量的值。获取default_week_format变量的当前值可以使用“SHOW VARIABLES LIKE 'default_week_format';”语句实现。
表7.2 mode参数

模式一周的第一天函数值范围计算方式
0星期日0-53从本年的第一个星期日开始,是第一周,前面的计算为第0周
1星期一0-53若第一周能超过3天,则计算为本年的第一周,否则为第0周
2星期日1-53从本年的第一个星期日开始,是第一周,前面的计算为上年度的第5x周
3星期一1-53若第一周能超过3天,那么计算为本年的第一周,否则为上年度的第5x周
4星期日0-53若第一周能超过3天,那么计算为本年的第一周,否则为第0周
5星期一0-53从本年的第一个星期一开始,是第一周,前面的计算为第0周
6星期日1-53若第一周能超过3天,则计算为本年的第一周,否则为上年度的第5x周。
7星期一1-53从本年的第一个星期一开始,是第一周,前面的计算为上年度的第5x周
使用WEEK()函数查询2017年10月25日的周数。


从以上执行结果可以看出,2017年10月25日是当年的第43周,此处mode参数为0。

MONTH()函数
MONTH()函数用于返回指定日期时间的月数,其语法格式如下。


在以上语法格式中,MONTH()函数的返回范围为1~12。
使用MONTH()函数查询2017年10月25日的月数。


从以上执行结果可以看出,2017年10月25日的月数为10。

YEAR()函数
YEAR()函数用于返回指定日期时间的年数,其语法格式如下。


在以上语法格式中,如果年份只有两位数,那么自动补全的机制是以默认时间1970-01-01为界限的,大于等于70 的补全为19,小于70 的补全为20。
使用YEAR()函数查询2017年10月25日的年数


从以上执行结果可以看出,2017年10月25日的年数为2017。

NOW()函数
NOW()函数用于返回系统当前时间,其语法格式如下。


使用NOW()函数查询系统当前时间。


从以上执行结果可以看出,NOW()函数返回系统当前时间。

格式化函数
格式化函数是MySQL中比较常用的一类函数,主要用于对数字或日期时间的格式化,具体如表7.5所示。
表7.3 格式化相关函数及说明

函数名称说明
FORMAT(x,n)将指定数字x保留小数点后指定位数n,四舍五入并返回
DATE_FORMAT (date,format)根据format格式化date值

表7.5中列出了格式化相关函数,接下来详细讲解常用的格式化函数。
FORMAT()函数
FORMAT()函数用于将数字进行格式化,其语法格式如下。


在以上语法格式中,FORMAT()函数会将数字x保留小数点后n位,四舍五入并返回。
使用FORMAT()函数将235.3456进行格式化,保留小数点后两位并四舍五入。


从以上执行结果可以看出,FORMAT()函数对235.3456进行了格式化,保留小数点后两位并四舍五入得到235.35。

DATE_FORMAT()函数
DATE_FORMAT()函数用于将日期时间按照指定格式进行格式化,DATE_FORMAT函数的语法格式如下。


在以上语法格式中,DATE_FORMAT()函数会将日期时间date按照format的格式进行格式化。
使用DATE_FORMAT()函数将20170101格式化,按照2017-01-01的格式显示。


从以上执行结果可以看出,DATE_FORMAT()函数将20170101格式化为2017-01-01,其中%Y代表4位数的年,%m代表月,%d代表日。

系统信息函数
系统信息函数是MySQL中比较常用的一类函数,主要用于查询当前数据库的信息,具体如表7.6所示。
表7.4 系统信息相关函数及说明

函数名称说明
DATABASE()返回当前数据库名
CONNECTION_ID用于返回当前用户的连接ID
USER()或SYSTEM_USER()返回当前登录用户名
VERSION()返回当前数据库的版本号

在表7.6中列出了系统信息相关函数,接下来详细讲解常用的系统信息函数。
DATABASE()函数
DATABASE()函数用于返回当前数据库名,其语法格式如下。


在以上语法格式中,如果还未选择数据库,则返回NULL。
使用DATABASE()函数查询当前数据库名。


从以上执行结果可以看出,DATABASE()函数返回了当前数据库名。

USER()或SYETEM_USER()函数
USER()或SYSTEM_USER()函数用于返回当前登录用户名,其语法格式如下。


使用USER()函数查询当前登录用户名。


从以上执行结果可以看出,USER()函数返回当前登录用户名。
接着使用SYSTEM_USER()函数查询当前登录用户名。


从以上执行结果可以看出,SYSTEM_USER()函数返回了当前登录用户名。

VERSION()函数
VERSION()函数用于返回当前数据库的版本号,其语法格式如下。


使用VERSION()函数查询当前数据库的版本号。


从以上执行结果可以看出,VERSION()函数返回了当前数据库版本号。
小结:MySQL数据库从入门到精通—常用函数


https://www.zhihu.com/video/1567834881987387392
本章介绍了字符串函数、数学函数、日期和时间函数、格式化函数、系统信息函数,其中字符串函数是最常用的函数。本章中的函数非常多,大家不需要死记硬背,只需多加练习,达到熟练运用水平即可。
MySQL数据库从入门到精通—常用函数
MySQL数据库从入门到精通—常用函数— 字符串函数
MySQL数据库从入门到精通—常用函数—  数学函数
回复

使用道具 举报

3

主题

14

帖子

23

积分

新手上路

Rank: 1

积分
23
发表于 2025-5-2 18:21:54 | 显示全部楼层
顶顶更健康
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表