总: 以例子看懂如何使用
总结: 时间函数中,很多情况下8位数字字符串可以直接使用,配合函数mysql可以自动识别成日期
PS:取当前时间:now()
取昨日0点:adddate(curdate(),-1)
取昨日当前时间:adddate(now(),-1)
一、当前时间
select now(),curdate(),curtime(),sysdate(),sleep(3),sysdate() from test_date_table ;
now和sysdate的区别在生效时间
---- 2023-10-26 16:33:41, 2023-10-26 16:33:41 ,2023-10-26 16:33:41 ,0, 2023-10-26 16:33:44
二、date()函数的使用
select date('20231026'),date('2023:10:26'),date('2023/10/26'),date('2023-10-26'),date('2023aa10bb26'),date('2023,10,26'),date('2023-10-26 11:37:00') from test_date_table where create_time >date('20231026') ;
– 2023-10-26 2023-10-26 2023-10-26 2023-10-26 null 2023-10-26 2023-10-26
三、获取年份,月份等
select year(curtime()),year('2023:10:26') from test_date_table ;
– 需要放8位数字的字符串或者日期格式的时间,2023 2023, 其他函数day(),month()类似
四、加减日期简化版
select adddate(curdate(),1), adddate(curdate(),-1),adddate(now(),0),adddate('20231011',0) from test_date_table ;
– 总结,默认是天,字符串也可用
– 2023-10-27 2023-10-25 2023-10-26 16:07:21 2023-10-11
五、加减日期复杂版
select date_add(now(),interval 1 day),date_add(curdate(),interval -1 day),date_add('20231011',interval 1 year) from test_date_table ;
– 2023-10-27 16:11:35 2023-10-25 2024-10-11
六、算日期间隔的天数
select datediff('20231011',now()) from test_date_table;
– -15
七、date_format自定义转换
select date_format(now(),'%Y/%m/%d %H:%i:%s'),date_format(now(),'%Y/%m/%d %T') from test_date_table;
– --字母较多,自行搜索
八、获取毫秒值
select unix_timestamp(now()) from test_date_table;
九、毫秒值转时间格式
select from_unixtime(1698308753),from_unixtime(1698308753,'%Y/%m/%d %T') from test_date_table;
%Y类似字母类型参考
https://www.w3school.com.cn/sql/func_date_format.asp