加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Oracle,PostgreSQL和SQL Server中比较时间戳的常用方法

发布时间:2020-12-12 13:56:09 所属栏目:百科 来源:网络整理
导读:我正在编写一个SQL查询,其中包括查找时间戳是否在特定的天数范围内。 我在PostgreSQL中写过,但在Oracle和SQL Server中不起作用: AND creation_date (CURRENT_TIMESTAMP - interval '5 days')AND creation_date = (CURRENT_TIMESTAMP - interval '15 days'
我正在编写一个SQL查询,其中包括查找时间戳是否在特定的天数范围内。

我在PostgreSQL中写过,但在Oracle和SQL Server中不起作用:

AND creation_date < (CURRENT_TIMESTAMP - interval '5 days')
AND creation_date >= (CURRENT_TIMESTAMP - interval '15 days')

有没有常见的方法来比较不同数据库的时间戳?

我不是SQL Server专家,但我知道这对Oracle和Postgres有效,我怀疑它可能在MSSQL上工作,但无法测试ATM。
AND creation_date < (CURRENT_TIMESTAMP - interval '5' day)
AND creation_date >= (CURRENT_TIMESTAMP - interval '15' day)

或者如果您使用日期类型而不是时间戳,您可以这样做,但我确信它不适用于MSSQL。而Oracle和Pg之间的DATE类型是完全不同的。

AND creation_date < CURRENT_DATE - 5
AND creation_date >= CURRENT_DATE - 15

如在OMG Ponies的评论中所指出的,您只能添加int类型到Date类型而不是时间戳。 (Oracle默认将时间戳转换为日期)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读