오프셋을 유지하면서 DATETIMEOFFSET을 DateTime으로 변환
SQL Server 2008에서 DATETIMEOFFSET 필드를 DATETIME 필드로 변환하면 일반적으로 다음이 손실됩니다. 오프셋으로 인한 시간 정보. 그러나 오프셋을 유지하면서 값을 변환하여 효과적으로 UTC로 변환하는 방법이 있습니다.
이 변환의 핵심은 올바른 스타일 인수와 함께 CONVERT 함수를 사용하는 데 있습니다. 스타일 인수는 변환 수행 방법을 지정합니다. 이 특정 목적을 위해서는 스타일 1을 사용해야 합니다.
SELECT CONVERT(datetime2, @createdon, 1)
위 쿼리는 DATETIMEOFFSET 변수(@createdon)를 가져와 스타일 1을 사용하여 DATETIME2 값으로 변환합니다. 이 스타일은 DATETIMEOFFSET 값을 다음으로 변환합니다. 오프셋을 빼서 UTC 기준 DATETIME2 값.
예를 들어 다음 DATETIMEOFFSET을 고려하세요. 값:
2008-12-19 17:30:09.0000000 +11:00
스타일 1을 사용하여 이 값을 변환하면 다음과 같은 결과를 얻습니다.
2008-12-19 06:30:09.0000000
이 결과는 UTC 시간이므로 오프셋이 효과적으로 제거됩니다.
스타일 1을 사용하여 DATETIME2에서 DATETIMEOFFSET으로 변환하면 오프셋이 00:00으로 설정됩니다. 이는 오프셋이 0이 아닌 DATETIMEOFFSET 값을 UTC의 DATETIMEOFFSET 값으로 변환하는 빠른 방법으로 사용할 수 있습니다:
SELECT convert(datetimeoffset,CONVERT(datetime2, @createdon, 1))
위 내용은 오프셋을 유지하면서 SQL Server 2008 DATETIMEOFFSET을 DATETIME으로 변환하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!