MSSQL 현재 시간 취득하는 여러 가지 방법

SQL Server에서 현재 시간을 취득하는 함수는 여러 가지가 존재합니다.

그중에서도 많이 사용하는 몇 가지 방법을 보겠습니다.

 

현재 시간 취득

많이 사용하는 방법으로는 CURRENT_TIMESTAMP, GETUTCDATE(), GETDATE()가 있습니다.

예제

SELECT CURRENT_TIMESTAMP AS RS_CURRENT_TIMESTAMP
SELECT GETUTCDATE() AS RS_GETUTCDATE
SELECT GETDATE() AS RS_GETDATE

 

결과

 

결과값은 모두 동일하며 데이터 타입은 datetime입니다.

CURRENT_TIMESTAMP는 ANSI 표준 함수입니다.

GETUTCDATE는 UTC(Coordinated Universal Time)로 협정 세계 시간을 취득합니다.

ANSI SQL에 맞춰서 사용해야 하거나 다른 데이터 베이스와 시간을 맞춰야 하는 경우에는 위의 2가지 방법을 사용하는 것이 좋습니다.

그중에서도 CURRENT_TIMESTAMP를 많이 사용하는거 같습니다.

마지막으로 GETDATE는 SQL Server에서 현재 시간을 취득하는 경우 가장 사용을 많이 하는 함수입니다.

시스템 현재의 날짜를 취득해옵니다.

 

 

정밀한 시간 취득

시간을 취득할 때 더욱도 정밀한 시간을 취득하고 싶은 경우에 사용하는 함수를 보겠습니다.

짧은 시간 내에 데이터를 등록하거나 갱신하는 경우 더욱더 정밀하게 시간을 보고 싶은 경우에 자주 사용됩니다.

예제

SELECT SYSDATETIME() AS RS_SYSDATETIME
SELECT SYSUTCDATETIME() AS RS_SYSUTCDATETIME
SELECT SYSDATETIMEOFFSET() AS RS_SYSDATETIMEOFFSET

 

결과

 

반환값 타입은 datetime2(7) 형태로 반환합니다.

CURRENT_TIMESTAMP, GETUTCDATE(), GETDATE() 함수는 밀리초 3자리까지 표시를 하지만 SYSDATETIME, SYSUTCDATETIME 함수는 밀리초 7자리까지 취득합니다.

 

정리

현재 시간을 취득하는 방법을 알아봤습니다.

가장 많이 사용하는 함수로는 GETDATE입니다.

GETDATE는 yyyy-mm-dd hh:mm:ss.fff로 밀리초 3자리까지 취득할 수 있습니다.

더욱더 정밀한 시간을 취득하고 싶은 경우에는 SYSDATETIME, SYSUTCDATETIME 함수로 yyyy-mm-dd hh:mm:ss.fffffff 형태인 밀리초 7자리까지 취득할 수 있습니다.

댓글