【发布时间】:2015-11-08 16:05:35
【问题描述】:
我正在开发一个 C# 程序,我必须从 2012 SQL 服务器中选择一些特定的日期时间记录。 数据记录有两个 DateTime 列,开始和结束。如果开始和结束不是同一天,我只需要数据。
SELECT * FROM table WHERE CAST(start AS DATE) != CAST(end AS DATE)
但这还不是问题。我需要它更具体一点,如果结束日期是开始日期加上一天,我只想要数据,无论他们有什么时间摊位。
我做了一些伪代码,不幸的是我的 SQL 技能非常有限。
SELECT Convert(date, getdate()) start
FROM table
WHERE EXISTS
(SELECT Convert(date, getdate())Ende FROM table WHERE end = dateadd(day,1,start) )
结果应该是 start + 1 day = end 的所有行(忽略 DateTime 中的时间),所以我可以在我的 c# Programm 中处理数据。
希望你能帮帮我,谢谢。
【问题讨论】:
-
CAST(start AS DATE) = CAST(dateadd(dd,-1,end) AS DATE)
标签: sql sql-server tsql datetime