当前位置:网站首页>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)
边栏推荐
猜你喜欢
Adobe LiveCycle Designer report designer
Neuropathic pain classification picture Daquan, neuropathic pain classification
Data middle platform program analysis and development direction
同态加密简介HE
B端产品需求分析与优先级判断
使用.NET简单实现一个Redis的高性能克隆版(七-完结)
【翻译】Drafting and Revision: Laplacian Pyramid Network for Fast High-Quality Artistic Style Transfer
神经痛分类图片大全,神经病理性疼痛分类
数据库内核面试中我不会的问题(4)
阿里二面:JVM调优你会吗?
随机推荐
Huawei WLAN Technology: AC/AP Experiment
解决 Pocess finished with exit code 1 Class not found 和 Command line is too long. Shorten the command
大疆2022秋招笔试 —— 最小时间差、数组的最小偏移量
期货开户最低的是交易所手续费不加佣金
【阿克曼运动控制】
阿里二面:JVM调优你会吗?
漫画手绘之临摹篇
【Prometheus】 Grafana数据与可视化
【教程】区块链是数据库?那么区块链的数据存储在哪里?如何查看数据?FISCO-BCOS如何更换区块链的数据存储,由RocksDB更换为MySQL、MariaDB,联盟链区块链数据库,区块链数据库应用
Neuropathic pain classification picture Daquan, neuropathic pain classification
1.TCP/IP基础知识
运动健康服务场景事件订阅,让应用推送“更懂用户”
[Ext JS]11.14 SimXhr.js?_dc=1659315492151:65 Uncaught TypeError问题分析与解决
logstash/filebeat只接收最近一段时间的数据
【Ackerman Motion Control】
Are there any foreign application cases for domestic databases?
Six functions of enterprise exhibition hall production
Have you encountered this kind of error? flink-sql writes to clickhouse
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
ASP.NET Core 6框架揭秘实例演示[32]:错误页面的集中呈现方式