当前位置:网站首页>mysql常用的一些时间函数记录
mysql常用的一些时间函数记录
2022-08-11 10:35:00 【蓝枫秋千】
无需参数型
NOW()
|CURRENT_TIMESTAMP
返回当前时间(日期+时分秒):2021-12-27 12:12:12CURDATE()
|CURRENT_DATE()
|CURRENT_DATE
返回当前日期:2021-12-27CURTIME()
|CURRENT_TIME
返回当前时间:12:12:12
时间转化型
UNIX_TIMESTAMP(date)
,日期转为时间戳FROM_UNIXTIME(date)
,时间戳转为日期YEAR(date)
,返回年份WEEK(date)
,返回是一年的第几周HOUR(time)
,返回小时值MINUTE(time)
,返回分钟值MONTHNAME(date)
,返回date的月份名,如December- 选取日期时间的各个部分:日期、时间、年、季度、月、日、小时、分钟、秒、微秒(常用)
SELECT now(),date(now()); -- 日期 SELECT now(),time(now()); -- 时间 SELECT now(),year(now()); -- 年 SELECT now(),quarter(now()); -- 季度 SELECT now(),month(now()); -- 月 SELECT now(),week(now()); -- 周 SELECT now(),day(now()); -- 日 SELECT now(),hour(now()); -- 小时 SELECT now(),minute(now()); -- 分钟 SELECT now(),second(now()); -- 秒 SELECT now(),microsecond(now()); -- 微秒
时间计算型
分别为给定的日期date加上(add)或减去(sub)一个时间间隔值expr
interval是间隔类型关键字
expr是一个表达式,对应后面的类型DATE_ADD(date, INTERVAL expr unit);
DATE_SUB(date, INTERVAL expr unit);unit是时间间隔单位,时间间隔类型如下
单位 描述 HOUR 小时 MINUTE 分 SECOND 秒 MICROSECOND 毫秒 YEAR 年 MONTH 月 DAY 日 WEEK 周 QUARTER 季度 YEAR_MONTH 年和月 DAY_HOUR 日和小时 DAY_MINUTE 日和分钟 DAY_SECOND 日和秒 HOUR_MINUTE 小时和分 HOUR_SECOND 小时和秒 MINUTE_SECOND 分钟和秒 示例
-- 获取上个月第一天和最后一天 SELECT DATE_FORMAT(DATE_SUB(now(),INTERVAL 1 month), '%Y-%m-01'), DATE_SUB(DATE_FORMAT(now(), '%Y-%m-01'), INTERVAL 1 day);
2. 获取两个时间的时间差或者是天数差
- TIMEDIFF(expr1, expr2):返回两个日期相减(expr1 − expr2 )相差的时间数(两个参数类型必须相同)
- DATEDIFF(expr1, expr2):返回两个日期相减(expr1 − expr2 )相差的天数
个性化展示
返回日期在一周、一月、一年中是第几天
- 一周的第几天:
dayofweek(date)
- 一月的第几天:
dayofmonth(date)
- 一年的第几天:
dayofyear(date)
- 一周的第几天:
返回日期的星期和月份名称
名称是中文or英文的由系统变量lc_time_names控制(默认值是’en_US’)
mysql> show variables like 'lc_time_names'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | lc_time_names | en_US | +---------------+-------+ 1 row in set (0.00 sec) mysql> select dayname(now()),monthname(now()); +----------------+------------------+ | dayname(now()) | monthname(now()) | +----------------+------------------+ | Monday | January | +----------------+------------------+ 1 row in set (0.00 sec) mysql> set lc_time_names='zh_CN'; Query OK, 0 rows affected (0.00 sec) mysql> select dayname(now()),monthname(now()); +----------------+------------------+ | dayname(now()) | monthname(now()) | +----------------+------------------+ | 星期一 | 一月 | +----------------+------------------+ 1 row in set (0.00 sec)
边栏推荐
猜你喜欢
OAK-FFC Series Product Getting Started Guide
保证金监控中心保证期货开户和交易记录
[Building a 2D rasterized map using SLAM technology]
数据库内核面试中我不会的问题(4)
STM32入门开发 LWIP网络协议栈移植(网卡采用DM9000)
使用stream实现两个list集合的合并(对象属性的合并)
当科学家决定搞点“花里胡哨”的东西
【Prometheus】Alertmanager告警全方位讲解
The mathematical knowledge required for neural networks, the mathematical foundation of neural networks
Simple interaction between server and client
随机推荐
STM32入门开发 LWIP网络协议栈移植(网卡采用DM9000)
OAK-FFC Series Product Getting Started Guide
人是怎么废掉的?人是怎么变强的?
snapshot standby switch
Word小技巧之图表实现自动编号和更新
【Prometheus】 Grafana数据与可视化
【Prometheus】Alertmanager告警全方位讲解
Simple interaction between server and client
Validate the execution flow of the interceptor
深度解析佛萨奇,Forsage魔豹联盟系统开发方案(源码部署)
Primavera Unifier advanced formula usage sharing
企业展厅制作要具备的六大功能
【Ackerman Motion Control】
> 家乡旅游景点网页作业制作 网页代码运用了DIV盒子的使用方法,如盒子的嵌套、浮动、margin、border、backgro
爆料!前华为微服务专家纯手打500页落地架构实战笔记,已开源
淘宝/天猫获得淘宝app商品详情原数据 API
mySQL transaction and its characteristic analysis
AcWing 273. 分级(线性DP+结论)
数据库内核面试中我不会的问题(4)
如何给女朋友解释什么是缓存穿透、缓存击穿、缓存雪崩?