MySQL,计算日期相差天数 & 字符串转日期,例:‘20230101’ => ‘2023-01-01’

MySQL日期处理计算

      • 字符串转日期格式
      • 计算两个日期相差天数

字符串转日期格式

STR_TO_DATE(str,format)str为需要转换的字符串;format为str中时间的格式。
如下图

select STR_TO_DATE('2023','%Y%m%d %h%i%s');
输出:2023-00-00 00:00:00
select STR_TO_DATE('202301','%Y%m%d %h%i%s');
输出:2023-01-00 00:00:00
select STR_TO_DATE('20230101','%Y%m%d %h%i%s');
输出:2023-01-01 00:00:00
select STR_TO_DATE('2023010101','%Y%m%d %h%i%s');
输出:2023-01-01 01:00:00
select STR_TO_DATE('202301010101','%Y%m%d %h%i%s');
输出:2023-01-01 01:01:00
select STR_TO_DATE('20230101010101','%Y%m%d %h%i%s');
输出:2023-01-01 01:01:01

如果小时为24小时制,把%Y%m%d %h%i%s中的小h换成大H即可;

计算两个日期相差天数

一、TO_DAYS(date)date是需要处理的对应日期,以下格式都可↓↓↓

SELECT TO_DAYS('20230224') - to_days('20230220');
输出:4
SELECT TO_DAYS(NOW())-TO_DAYS("2022-02-24")
输出:365 -- 今天是2023/02/24

二、DATEDIFF(expr1,expr2)expr1输入对应日期

SELECT	datediff( '20230224', '20230220' );
输出:4
SELECT	datediff( now(), "2022-02-24")
输出:365 -- 今天是2023/02/24

MySQL,计算日期相差天数 & 字符串转日期,例:‘20230101’ => ‘2023-01-01’_第1张图片

用到~记录一下;怎么感觉老是忘记呢‍

你可能感兴趣的:(mysql,日期时间,mysql,数据库,sql)