如何只設置SQL datetimeoffset變量的時間部分?只更改SQL中datetimeoffset的時間部分
例如:
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