최근에 SQL Server 2005 용으로 작성된 상당히 오래된 저장 프로 시저를 살펴 봤는데 이해하지 못하는 내용이 있습니다. 일부 유형의 함수 호출 인 것 같습니다.
샘플:
SELECT o.name, o.type_desc, o.create_date
FROM sys.objects o
WHERE o.create_date < {fn Now()} -1;
이 모든 행이 표시됩니다 sys.objects
이 create_date
이전 24 시간 전.
이 쿼리에 대한 실행 계획을 표시 하면 데이터베이스 엔진으로 {fn Now()}
대체됩니다 getdate()
.
SELECT [o].[name],[o].[type_desc],[o].[create_date]
FROM [sys].[objects] [o]
WHERE [o].[create_date]<(getdate()-@1)
분명히 사용하는 {fn Now()}
것보다 훨씬 더 애매합니다 GetDate()
. 나는이 문서가 문서화되어 있지 않기 때문에 전염병과 같은이 구문을 피할 것입니다.