SELECT GETDATE()
SQL Server의 위 쿼리는 서버가 미국에 있기 때문에 미국에서 현재 날짜와 시간을 반환합니다. 유럽의 현재 날짜와 시간을 검색하려면 어떻게 수정해야합니까?Sql Server가 유럽에서 현재 날짜 시간을 가져옵니다.
SELECT GETDATE()
SQL Server의 위 쿼리는 서버가 미국에 있기 때문에 미국에서 현재 날짜와 시간을 반환합니다. 유럽의 현재 날짜와 시간을 검색하려면 어떻게 수정해야합니까?Sql Server가 유럽에서 현재 날짜 시간을 가져옵니다.
이 시도 : 설정 @Offset =
그리니치 표준시 (GMT)에 대한2 등
Set @Offset = 0, 1, 2 ...
Declare @offset tinyInt = 0
Select GetUtcDate() + @offset/24.0
datetimeoffset 데이터 형식 (SQL Server 2008 이상 필요)과 함께 SwitchDateTimeOffset 함수를 사용하십시오.
데모 쿼리 :이됩니다 시나리오에서
CREATE TABLE TimeZone (ID int identity,
LocalTime datetimeoffset);
INSERT INTO TimeZone values ('2008-05-21 17:50:01.1234567 -08:00'),
('2008-05-21 18:50:01.1234567 -08:00');
SELECT * FROM TimeZone;
SELECT ID, SWITCHOFFSET(LocalTime,'+01:00') [time for new time zone]
FROM TimeZone;
DROP TABLE TimeZone;
:
SELECT SWITCHOFFSET(SYSDATETIMEOFFSET(),'+01:00')
바와 같이 p.campbell 지적, 당신은 여전히 당신의 목적을 위해 '유럽'을 나타내는 시간대 결정해야합니다.
유럽의 어느 표준 시간대입니까? 대륙의 정의가 일정하지 않고 * n * 시간대에 걸쳐 있으므로 유럽을 용도에 맞게 정의하십시오. –
"미국의 현재 날짜와 시간"- 아쉽게도. 미국에는 또한 4 시간대가 있습니다. 'GETDATE()'는 서버의 현지 시간을 반환하는데, 미국 시간이 아닌 시간대와 국가에 관계없이. –
.. 대부분의 서버가 여러 시간대의 클라이언트에서 사용되기 때문에 더 많은 DBA가 서버의 시스템 클럭을 GMT로 설정하고 있으므로 GetDate()는 로컬이 아닌 UTC 또는 GGMT 시간을 반환합니다. –