1

警告 - 前面的 TSQL 新手问题:

例如,我有一个DateTimeOffsetfor,2013-03-11 11:04:26.0000000 +00:00我需要为同一天创建两个新日期,一个在 00:01,另一个在 23:59。

到目前为止,我已经尝试了各种方法DATETIMEOFFSETFROMPARTSDATEPART但似乎有点尴尬 - 是否有一个简单的解决方案来缩短小时/分钟/等。只是用一天用两个必需的时间代替时间?

任何提示表示赞赏。

4

2 回答 2

1

知道了...

select @pkgDate = CONVERT (date, @pkgDate)

select DATEADD (minute, 1, @pkgDate)
select DATEADD(hour, 23, DATEADD (minute, 59, @pkgDate))

..更好/更简洁的方法仍然值得赞赏。

于 2013-03-11T11:56:05.510 回答
1

你也可以试试这个选项

DECLARE @date datetimeoffset = '2013-03-11 11:04:26.0000000 +00:00'
SELECT DATEADD(day, DATEDIFF(day, 0 , @date), '00:01'), 
       DATEADD(day, DATEDIFF(day, 0 , @date), '23:59') 

--Results:2013-03-11 00:01:00.000   2013-03-11 23:59:00.000
于 2013-03-11T13:37:28.090 回答