[英]A way to select a date between two dates in t-SQL
說,我有兩個DATETIME2列,我需要選擇兩者之間的日期。 示例:1/1/2012 08:00和1/1/2012 09:00應該生成1/1/2012 08:30。
我正在嘗試這個:
SELECT CAST((CAST(dtOut AS float(53)) +
CAST(dtIn AS float(53))) / 2 AS DATETIME2) FROM t;
但是我得到一個錯誤,即不允許從DATETIME2進行顯式轉換。
知道怎么做嗎?
DateDiff將找到兩個日期之間的差異。
select Dateadd(n, DATEDIFF(n, dtIn, dtOut)/2, dtIn) FROM t
順便說一句,如果字段是datetime而不是datetime2,那么您的方法將起作用。
試試這個。
select Dateadd(n, DATEDIFF(n, '1/1/2012 08:00', '1/1/2012 09:00')/2, '1/1/2012 08:00');
declare @d1 datetime2, @d2 datetime2
select @d1='1/1/2012 08:00',@d2='1/1/2012 09:00'
select dateadd(minute,datediff(minute ,@d1,@d2)/2.0,@d1)
選擇dateadd(SECOND,datediff(SECOND,dtIn,dtOut)/2.0,dtIn)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.