如何从DateTimeOffset对象中选择UTC偏移量?
技术问答
89 人阅读
|
0 人回复
|
2023-09-12
|
我目前正在使用:
. w& v% n* a) `' s0 cSELECT DATEPART(TZ,SYSDATETIMEOFFSET())然而,它在几分钟内返回偏移量。我想保留它’-05:00’而不是’-300’的格式
% \% M, @$ V2 E( t5 l/ _2 d/ x谢谢你。7 e' Z5 V, J: a1 p2 c
4 [ y; K+ P% J% I2 m2 a) p! r 解决方案:
: S9 u9 d* P9 R, W1 m 如果要在datetimeoffset在变量的末尾提取准确的字符串 -05:00可以使用SQL Server字符串操作。我认为不能使用内置的SQL
4 y# r8 O, {1 pDateTime执行此操作的函数。您可以使用它CAST我相信它默认为函数ISO 8601格式:
' M3 }. p: U; ^* O" A2 Y7 bdeclare @timeStr nvarchar(50) = CAST(SYSDATETIMEOFFSET() as nvarchar(50))select right(@timeStr,6)若要更清楚,可采用126格式类型CONVERT明确告诉函数SQL Server使用ISO 8601:
. l; ~ v& Z0 x! g" I4 _declare @timeStr nvarchar(50) = CONVERT(nvarchar(50),SYSDATETIMEOFFSET(),126)select right(@timeStr,6)在我所在的时区,这两种方法都了:7 d; K( r. Q( m8 q
-06:00有关CAST和CONVERT更多信息,请参见此处。 |
|
|
|
|
|