T-SQL: использование {fn NOW()} в ГДЕ

Я просматривал некоторые SQL-запросы, и я видел инструкцию select, которая выглядела так:

SELECT *
FROM dbo.mytable
WHERE (dbo.mytable.[Date] < { fn NOW() })

Какова цель использования инструкции WHERE, подобной этой?

Не будет проще использовать простой GETDATE()?

Ответы

Ответ 1

http://www.sqlservercentral.com/Forums/Topic183904-8-1.aspx

GETDATE() - это специальная функция T-SQL, которая возвращает текущую системную дату и время. Стандартным эквивалентом SQL является CURRENT_TIMESTAMP, который также применимы в T-SQL. {Fn Now()} является канонической функцией ODBC который может использоваться в T-SQL, поскольку поставщик OLE DB для поддержки SQL Server их. Между ними нет заметной разницы в производительности. Вы также может использовать канонический формат, например:

SELECT {fn CURRENT_TIMESTAMP()} AS "date & time",
       {fn CURRENT_DATE()} AS "date only",
       {fn CURRENT_TIME()} AS "time only" ;