本人已参与「新人创作礼」活动,一起开启掘金创作之路。
持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第30天,点击查看活动详情
目录
今天阿文介绍的内容:
- 日期与时间函数
日期和时间函数
日期和时间函数主要用来处理日期和时间值,一般的日期函数除了使用DATE类型的参数外,也可以使用DATETIME或者TIMESTAMP类型的参数,但会忽略这些值的时间部分。相同的,以TIME类型值为参数的函数,可以接受TIMESTAMP类型的参数,但会忽略日期部分,许多日期函数可以同时接受数字和字符串类型的两种参数。
1.获取当前日期的函数和获取当前时间的函数
1.1CURDATE()与CURRENT_DATE()
CURDATE()和CURRENT_DATE()函数的作用相同,将当前日期按照‘YYYY-MM-DD’或YYYYMMDD格式的值返回,具体格式根据函数在字符串或是数字语境中而定。
例子:
SELECT CURDATE(), CURRENT_DATE(), CURDATE() + 0;
返回结果:
可以看到,两个函数作用是相同的,都是返回相同的系统当前日期,而CURDATE()+0将当前日期转换为数值型
1.2CURTIME()与CURRENT_TIME()
CURTIME()和CURRENT_TIME()函数的作用相同,将当前时间以‘HH:MM:SS’或HHMMSS的格式返回,具体格式根据函数在字符串或是数字语境中而定。
例子:
SELECT CURTIME(), CURRENT_TIME(), CURTIME() + 0;
返回结果:
可以看到,两个函数的作用相同,都返回了相同的系统当前时间,“CURTIME ()+0”将当前时间值转换为数值型。
2.获取当前日期和时间的函数
在MySQL中提供了四个函数,它们作用相同:
CURRENT_TIMESTAMP()LOCALTIME()NOW()SYSDATE()
均返回当前日期和时间值,格式为‘YYYY-MM-DD HH:MM:SS’或YYYYMMDDHHMMSS,具体格式根据函数在字符串或数字语境中而定。
例子:
SELECT CURRENT_TIMESTAMP(), LOCALTIME(), NOW(), SYSDATE();
返回结果:
可以看到,四个函数返回的结果是相同的
3.UNIX时间戳函数
UNIX_TIMESTAMP(date)若无参数调用,则返回一个UNIX时间戳(‘1970-01-01 00:00:00’GMT之后的秒数)作为无符号整数。其中,GMT(Green wich mean time)为格林尼治标准时间。若用date来调用UNIX_TIMESTAMP(),它会将参数值以‘1970-01-01 00:00:00’GMT后的秒数的形式返回。date可以是一个DATE字符串、DATETIME字符串、TIMESTAMP或一个当地时间的YYMMDD或YYYYMMDD格式的数字。
例子:
SELECT UNIX_TIMESTAMP(), UNIX_TIMESTAMP(NOW()), NOW();
返回结果:
FROM_UNIXTIME(date)函数把UNIX时间戳转换为普通格式的时间,与UNIX_TIMESTAMP (date)函数互为反函数。
FROM_UNIXTIME函数例子:
SELECT FROM_UNIXTIME('1666870461');
返回结果:
可以看到时间刚刚好和之前UNIX_TIMESTAMP(NOW())的结果正好相反。
4.UTC日期的函数和UTC时间的函数
UTC_DATE()函数返回当前UTC(世界标准时间)日期值,其格式为‘YYYY-MM-DD’或YYYYMMDD,具体格式取决于函数是否用在字符串或数字语境中。
UTC_DATE()函数例子:
SELECT UTC_DATE(), UTC_DATE() + 0;
返回结果:
可以看到,UTC_DATE()函数返回值为当前时区的日期值。
UTC_TIME()函数例子:
SELECT UTC_TIME(), UTC_TIME() + 0;
例子:
5.月份的函数MONTH(date)和MONTHNAME(date)
月份的函数MONTH(date)和MONTHNAME(date)
例子:
SELECT MONTH("2022-10-27");
返回结果:
MONTHNAME(date)函数返回日期date对应月份的英文全名。
例子:
SELECT MONTHNAME("2022-10-27");
返回结果:
6.星期的函数DAYNAME(d)、DAYOFWEEK(d)和WEEKDAY(d)
DAYNAME(d)函数返回d对应的工作日的英文名称,例如Sunday、Monday等。
例子:
SELECT DAYNAME("2022-10-27");
返回结果:
可以看到,2022年10月27日是星期四,因此返回结果为Thursday。
DAYOFWEEK(d)函数返回d对应的一周中的索引(位置,1表示周日,2表示周一,...,7表示周六)。
例子:
SELECT DAYOFWEEK();
返回结果:
2022年10月27日为周四,因此返回其对应的索引值,结果为5。
WEEKDAY(d)返回d对应的工作日索引:0表示周一,1表示周二,...,6表示周日。
例子:
SELECT WEEKDAY('2022-10-27 20:42:00');
返回结果:
可以看到,WEEKDAY()和DAYOFWEEK()函数都是返回指定日期在某一周内的位置,只是索引编号不同。
总结
- 时间和日期函数就是在MySQL中获取日期和和时间的函数,在需要存储时间信息时,会进行调用
好了,今天阿文就介绍到这了...
byebye