sql 计算两个日期差几天

Posted bitcarmanlee

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 计算两个日期差几天相关的知识,希望对你有一定的参考价值。

有段时间没写sql,正好今天要处理个比较复杂的业务问题,需要写sql,里面碰到几个小点,还有点记得不是太清楚,稍微想了一阵才写出来,特此记录,方便后续查询。

其中有一个环节,需要计算两个日期差几天,经过一番思考,可以按如下方式进行计算。

1.unix_timestamp 字符串转时间戳

首先用unix_timestamp方法,将字符串转成时间戳。

select unix_timestamp('20221020', 'yyyyMMdd') from xxx limit 1;

输出结果为

1666195200

2.from_unixtime 时间戳转指定格式日期字符串

接下来我们使用from_unixtime方法将时间戳转成指定格式的日期字符串

select from_unixtime(unix_timestamp('20221020', 'yyyyMMdd'), 'yyyy-MM-dd') from xxx limit 1;

输出结果为

2022-10-20

3.to_date转成日期

select to_date(from_unixtime(unix_timestamp('20221020', 'yyyyMMdd'), 'yyyy-MM-dd')) from xxx limit 1;

输出结果为

2022-10-20

4.datediff方法求两个日期差几天

最后,我们使用datediff方法,可以求出两个日期差几天。

select datediff(to_date(from_unixtime(unix_timestamp('20221020', 'yyyyMMdd'), 'yyyy-MM-dd')),  to_date(from_unixtime(unix_timestamp('20220920', 'yyyyMMdd'), 'yyyy-MM-dd'))) from xxx limit 1;

输出结果为

30

以上是关于sql 计算两个日期差几天的主要内容,如果未能解决你的问题,请参考以下文章

js 怎么求两个日期相差几个月零几天?

js计算两个日期相差的天数

excel中怎么计算两个日期之间哪一年差几个月

python 计算两个日期相差多少个月

SQL 获取两个日期相差几个月,要精确到日

DATEADD和DATEDIFF在SQL语句中是啥意思...?