警告 - 未来的TSQL新手问题:
我有一个DateTimeOffset
,比如2013-03-11 11:04:26.0000000 +00:00
,我需要在同一天创建两个新日期,一个在00:01,另一个在23:59。
到目前为止,我已尝试使用DATETIMEOFFSETFROMPARTS
和DATEPART
进行各种操作,但似乎有点尴尬 - 是否有一个简单的解决方案剪掉小时/分钟/等等并且只用一天用两个必需的时间替换时间?
任何提示都表示赞赏。
答案 0 :(得分:1)
得到了......
select @pkgDate = CONVERT (date, @pkgDate)
select DATEADD (minute, 1, @pkgDate)
select DATEADD(hour, 23, DATEADD (minute, 59, @pkgDate))
..更好/更简洁的方式仍然赞赏。
答案 1 :(得分: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