Équivalent SQL Server de NOW () de MySQL?


197

Je suis un gars MySQL travaillant sur un projet SQL Server, essayant d'obtenir un champ datetime pour afficher l'heure actuelle. Dans MySQL, j'utiliserais NOW () mais il n'accepte pas cela.

INSERT INTO timelog (datetime_filed) VALUES (NOW())

Réponses:



74
getdate() 

est l'équivalent direct, mais vous devez toujours utiliser les heures UTC

getutcdate()

si votre application fonctionne sur plusieurs fuseaux horaires ou non - sinon vous courez le risque de bousiller les calculs de date lors des transitions printemps / automne



24

Vous pouvez également utiliser CURRENT_TIMESTAMP, si vous souhaitez être plus conforme à ANSI (bien que si vous portez du code entre des fournisseurs de bases de données, ce sera le moindre de vos soucis). C'est exactement la même chose que GetDate()sous les couvertures (voir cette question pour plus d'informations).

Il n'y a cependant pas d'équivalent ANSI GetUTCDate(), qui est probablement celui que vous devriez utiliser si votre application fonctionne dans plusieurs fuseaux horaires ...


5
J'aime CURRENT_TIMESTAMPparce que ça marche dans MySQL, SQL Server, Oracle ... Comme vous l'avez dit, c'est le moindre de nos soucis mais ça aide toujours.
Álvaro González le
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.