Как установить только временную часть переменной SQL datetimeoffset?Изменить только временную часть datetimeoffset в SQL
Например:
DECLARE @date datetimeoffset = '2014-01-11 11:04:26 +02:00'
Я хочу, чтобы вычислить еще два datetimeoffsets:
@startdate should be '2014-01-11 00:00:00 +02:00'
@enddate should be '2014-01-12 00:00:00 +02:00'
Но все решения я попытался установленные смещения к нулю.
ПРИМЕЧАНИЕ: Мне нужно исходное смещение в результатах, так как мне нужно сравнить их с некоторыми столбцами datetimeoffset в таблице. Так что просто кастинг на дату не сработает.
Дальнейшее примечание: В SQL2012 это будет довольно просто; Я мог бы использовать DATETIMEOFFSETFROMPARTS. К сожалению, сейчас я не могу перейти на 2012 год. Пример:
SET @startdate = SELECT DATETIMEOFFSETFROMPARTS(datepart(yyyy, @date), datepart(mm, @date), datepart(dd, @date), 0, 0, 0, 0, datepart(tz, @date), 0, 7);
Если вы хотите, чтобы удалить часть времени, а затем использовать 'литой (@startdate как дата)'. –
Не могли бы вы четко написать код, который вы пытались выполнить, и получить точный результат? – OzrenTkalcecKrznaric