0
데이터는 XML (샘플)로 저장됩니다 : - 나는의 OpenXML을 사용하여 데이터를 읽고있다OpenXML을 사용하여 XML을 읽는 동안 UTC를 현지 시간으로 변환하는 방법은 무엇입니까?
<root>
<data>
<checked>true</checked>
<datetimestamp>2016-10-18T08:11:12-06:00</datetimestamp>
</data>
<data>
<checked>true</checked>
<datetimestamp>2016-10-18T08:13:20-06:00</datetimestamp>
</data>
</root>
: -
DECLARE @XData XML
DECLARE @doc INT
DECLARE @TempXML TABLE
(
checked BIT,
datetimestamp DATETIME,
)
SELECT @XData = Data FROM Table1 WHERE ID = @ItemId
EXEC sp_xml_preparedocument @doc OUTPUT, @XData
INSERT INTO @TempXML(checked,datetimestamp)
SELECT * FROM OPENXML (@doc, '/root/data',1)
WITH (
checked BIT 'checked',
DateTimeStamp DATETIME 'datetimestamp',
)
날짜 시간은 XML에서 UTC로 저장됩니다. 위의 SP에서는 xml 데이터를 openXML을 사용하여 읽고 임시 테이블에 데이터를 저장하고 있습니다. 삽입하는 동안 UTC datetime을 현지 시간으로 변환해야합니다. 어떻게해야합니까? 코드의 라인에 따라 은 현지 시간대 완벽하게 에 UTC로 변환하지만 OPENXML와 함께 사용하는 방법을 알아낼 수 없습니다 : -
SELECT DATEADD(mi, DATEDIFF(mi, GETUTCDATE(), GETDATE()), MyTable.UtcColumn)
AS ColumnInLocalTime
FROM MyTable