Получение даты на сервере sql, CURRENT_TIMESTAMP против GetDate ()

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


person digiguru    schedule 09.10.2008    source источник


Ответы (4)


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

person Cowan    schedule 09.10.2008
comment
Вы также можете использовать {fn now()} эквивалентно, если хотите действительно придерживаться старой школы. - person brianary; 22.10.2015

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

Но они делают то же самое.

person Dylan Beattie    schedule 09.10.2008

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

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

person onedaywhen    schedule 09.10.2008

Электронная документация сообщает нам, что CURRENT_TIMESTAMP «эквивалентен GETDATE ()».

person ila    schedule 09.10.2008