SQL Server에서 GETDATE() 함수를 사용하는 방법
Lukas Schneider
DevOps Engineer · Leapcell

Key Takeaways
GETDATE()
는 SQL Server에서 현재 시스템 날짜와 시간을 반환합니다.- 타임스탬프, 필터링 및 날짜 계산에 일반적으로 사용됩니다.
GETDATE()
는 서버의 로컬 시간대를 사용하며 비결정적입니다.
SQL Server의 GETDATE()
함수는 SQL Server 인스턴스가 실행 중인 시스템의 현재 날짜와 시간을 반환하는 내장 함수입니다. 레코드 타임스탬프, 현재 날짜를 기준으로 데이터 필터링, 날짜 계산 수행에 일반적으로 사용됩니다.
구문
GETDATE()
이 함수는 인수를 필요로 하지 않으며 현재 날짜와 시간을 YYYY-MM-DD hh:mm:ss.mmm
형식의 DATETIME
값으로 반환합니다.
기본 사용법
현재 날짜와 시간을 검색하려면:
SELECT GETDATE() AS CurrentDateTime;
이렇게 하면 현재 시스템 날짜와 시간이 반환됩니다.
일반적인 사용 사례
1. 테이블의 기본값 설정
GETDATE()
를 사용하여 테이블을 생성할 때 날짜 열에 대한 기본값을 설정할 수 있습니다.
CREATE TABLE Orders ( OrderID INT PRIMARY KEY, OrderDate DATETIME DEFAULT GETDATE() );
이렇게 하면 삽입 중에 OrderDate
에 대한 값이 제공되지 않으면 현재 날짜와 시간이 사용됩니다.
2. 현재 날짜를 기준으로 레코드 필터링
테이블에서 날짜가 현재 날짜와 일치하는 레코드를 선택하려면:
SELECT * FROM Orders WHERE CAST(OrderDate AS DATE) = CAST(GETDATE() AS DATE);
이 쿼리는 시간 구성 요소를 무시하고 날짜 부분만 비교합니다.
3. 날짜 차이 계산
저장된 날짜와 현재 날짜 간의 연도 차이를 계산하려면:
SELECT EmployeeID, DATEDIFF(YEAR, BirthDate, GETDATE()) AS Age FROM Employees;
이렇게 하면 각 직원의 생년월일을 기준으로 나이를 계산합니다.
4. 시간 간격 추가 또는 빼기
현재 날짜에서 시간 간격을 추가하거나 빼려면:
-- 7일 추가 SELECT DATEADD(DAY, 7, GETDATE()) AS DateAfter7Days; -- 1개월 빼기 SELECT DATEADD(MONTH, -1, GETDATE()) AS DateBefore1Month;
이러한 쿼리는 지정된 간격으로 현재 날짜를 조정합니다.
특정 날짜 부분 추출
현재 날짜의 특정 부분을 추출하려면:
SELECT YEAR(GETDATE()) AS CurrentYear, MONTH(GETDATE()) AS CurrentMonth, DAY(GETDATE()) AS CurrentDay;
이렇게 하면 현재 연도, 월 및 일을 별도로 검색합니다.
날짜 및 시간 형식 지정
현재 날짜와 시간을 특정 문자열 형식으로 지정하려면:
SELECT FORMAT(GETDATE(), 'dd-MM-yyyy HH:mm:ss') AS FormattedDateTime;
이렇게 하면 날짜와 시간을 dd-MM-yyyy HH:mm:ss
로 형식 지정합니다.
고려 사항
-
시간대:
GETDATE()
는 서버의 로컬 시간대를 기준으로 현재 날짜와 시간을 반환합니다. UTC 시간이 필요한 경우GETUTCDATE()
를 사용하는 것이 좋습니다. -
정밀도: 더 높은 정밀도(소수 초 포함)의 경우
SYSDATETIME()
은GETDATE()
보다 더 높은 정밀도로DATETIME2
값을 반환하므로 사용할 수 있습니다. -
비결정적 함수:
GETDATE()
는 비결정적입니다. 즉, 동일한 쿼리 내에서도 호출될 때마다 다른 결과를 반환할 수 있습니다. 이는 인덱싱 및 쿼리 최적화에 영향을 미칠 수 있습니다.
결론
GETDATE()
함수는 현재 날짜와 시간을 사용하는 SQL Server의 다용도 도구입니다. 레코드 타임스탬프, 데이터 필터링 또는 날짜 계산을 수행하든 GETDATE()
는 현재 시스템 날짜와 시간을 SQL 쿼리에 통합하는 간단한 방법을 제공합니다.
FAQs
SQL Server 시스템의 현재 날짜와 시간을 반환합니다.
레코드 타임스탬프, 현재 날짜별 필터링 및 날짜 연산에 사용됩니다.
아니요, 로컬 서버 시간을 제공합니다. UTC의 경우 GETUTCDATE()
를 사용하십시오.
백엔드 프로젝트 호스팅을 위한 최고의 선택, Leapcell입니다.
Leapcell은 웹 호스팅, 비동기 작업 및 Redis를 위한 차세대 서버리스 플랫폼입니다.
다국어 지원
- Node.js, Python, Go 또는 Rust로 개발하십시오.
무제한 프로젝트를 무료로 배포
- 사용량에 대해서만 지불하십시오. 요청이나 요금이 없습니다.
탁월한 비용 효율성
- 유휴 요금 없이 사용한 만큼 지불하십시오.
- 예: $25는 평균 응답 시간 60ms에서 694만 건의 요청을 지원합니다.
간소화된 개발자 경험
- 간편한 설정을 위한 직관적인 UI
- 완전 자동화된 CI/CD 파이프라인 및 GitOps 통합
- 실행 가능한 통찰력을 위한 실시간 메트릭 및 로깅
손쉬운 확장성 및 고성능
- 고도의 동시성을 쉽게 처리하기 위한 자동 확장
- 운영 오버헤드가 전혀 없으므로 구축에만 집중하십시오.
설명서에서 자세히 알아보십시오!
X에서 팔로우하세요: @LeapcellHQ