web-dev-qa-db-fra.com

Récupération de la date dans le serveur SQL, CURRENT_TIMESTAMP vs GetDate ()

Utilisation de SQL Server - quelle est la méthode la plus rapide ou la meilleure pratique à utiliser pour la récupération de date? Y a-t-il une différence?

67
digiguru

CURRENT_TIMESTAMP est un SQL ANSI standard, et il en est de même théoriquement un tout petit îlot de "pas besoin de changer" parmi vos milliers de lignes SQL spécifiques à SQL Server si vous avez besoin de déplacer des bases de données ....

91
Cowan

CURRENT_TIMESTAMP fait partie de la spécification ANSI SQL. GETDATE () est une fonction spécifique à SQL Server héritée du code Sybase d'origine sur lequel SQL Server est basé.

Ils font exactement la même chose, cependant.

31
Dylan Beattie

Mon vote est pour CURRENT_TIMESTAMP Pour des raisons de 'portabilité', c'est-à-dire pourquoi être spécifique à SQL Server quand il y a un équivalent SQL-92 direct?

PS pourquoi n'a-t-il pas été nommé getdatetime()? Maintenant que SQL Server 2008 a un type de données DATE et TIME, nous pouvons espérer obtenir une prise en charge des CURRENT_DATE Et CURRENT_TIME De SQL-92, auquel cas getdate() pourrait être encore plus déroutant.

10
onedaywhen

Books Online nous indique que CURRENT_TIMESTAMP "est équivalent à GETDATE ()".

9
ila