[英]Calculate difference in seconds between two dates in various SQL databases (MySQL, Oracle, H2)
我需要计算SQL中两个日期之间以秒为单位的差异。 问题在于,同一查询将在不同的环境中使用不同的数据库引擎执行。
本地有MySQL,生产环境中有Oracle,H2用于测试。
我使用TIME_TO_SEC
函数编写了一个查询,它运行良好,但是集成测试失败,因为在那里我使用了H2而不是MySQL。 我也尝试使用DATEDIFF
函数,但是在所有这些数据库中,其实现都是不同的。
是否有可能为所有这些数据库编写单个通用查询?
我使用60 + extract(SECOND FROM (b.created_ts)) - extract(SECOND FROM a.created_ts)
,它适用于所有这些数据库。
我只能尝试在Oracle中进行测试。 这对你有帮助吗?
SELECT ( SYSDATE - (SYSDATE-1)) * 60 * 60 * 24
FROM DUAL
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.