如何解决SQL Datediff在多个级别上
在SQL Server中使用datediff
函数时,我遇到很多问题。
我有两个表要根据观察之间的时间间隔进行联接;这些表包含yyyy-mm-dd hh:mm:ss
如下的货物到达时间。
我发现了一个不同的问题,该问题的答案将(希望)对我有所帮助。所述示例提供的代码说明了以下内容,这就是斗争的起点。
Abs(DateDiff("d",pi.Product_Interest_Date,l.Lead_Date)) AS Date_Gap
来源:comment
但是,我需要根据完整日期(从年到秒)在值之间找到日期差距。我能正确理解datediff
函数仅接受一个级别(即仅一天或一分钟),还是做错了什么?
如果是前者,是否有一种简单的方法来做我想做的事?
解决方法
首先,SQL Server中使用几天的语法是:
abs(DateDiff(day,pi.Product_Interest_Date,l.Lead_Date)) AS Date_Gap
您使用的语法是MS Access语法。
SQL Server没有间隔类型。您可以以秒为单位获得差异,然后转换为另一个单位。例如,十进制天为:
abs(DateDiff(day,l.Lead_Date)) / (24.0 * 60 * 60) AS Date_Gap
您没有提供描述所需确切结果的样本数据和所需结果,但这应该可以使您走上正确的道路。如果这不能完全回答您的问题,那么您应该问一个 new 问题,并提供示例数据,所需结果以及对逻辑的清晰解释。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。