Получение даты на сервере sql, CURRENT_TIMESTAMP vs GetDate () - PullRequest
66 голосов
/ 09 октября 2008

Использование SQL Server - какой самый быстрый или лучший метод для поиска даты? Есть ли разница?

Ответы [ 4 ]

91 голосов
/ 09 октября 2008

CURRENT_TIMESTAMP - это стандартный ANSI SQL, и теоретически это один крошечный маленький островок «не нужно менять» среди тысяч строк SQL, специфичных для SQL Server, если вам когда-либо понадобится переместить базы данных ...

31 голосов
/ 09 октября 2008

CURRENT_TIMESTAMP является частью спецификации ANSI SQL. GETDATE () - это специфическая для SQL Server функция, унаследованная от исходного кода Sybase, на котором основан SQL Server.

Они, однако, делают то же самое.

10 голосов
/ 09 октября 2008

Мой голос за CURRENT_TIMESTAMP по причинам «переносимости», т. Е. Зачем быть специфичным для SQL Server, когда существует прямой эквивалент SQL-92?

PS почему его не назвали getdatetime()? Теперь, когда SQL Server 2008 имеет тип данных DATE и TIME, мы можем надеяться получить поддержку для SQL-92 CURRENT_DATE и CURRENT_TIME, и в этот момент getdate() может быть потенциально еще более запутанным.

9 голосов
/ 09 октября 2008

Books Online сообщает, что CURRENT_TIMESTAMP "эквивалентен GETDATE ()".

...