SQL Server odpowiednik NOW () MySQL?


197

Jestem facetem z MySQL, który pracuje nad projektem SQL Server i próbuje uzyskać pole daty i godziny, aby pokazać aktualny czas. W MySQL użyłbym NOW (), ale to nie akceptuje.

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

Odpowiedzi:



74
getdate() 

jest bezpośrednim odpowiednikiem, ale zawsze należy używać okresów danych UTC

getutcdate()

niezależnie od tego, czy aplikacja działa w różnych strefach czasowych, czy nie - w przeciwnym razie istnieje ryzyko zepsucia obliczeń matematycznych na przejściach wiosenno-jesiennych



24

Możesz także użyć CURRENT_TIMESTAMP, jeśli masz ochotę być bardziej zgodnym z ANSI (chociaż jeśli przenosisz kod między dostawcami baz danych, to będzie najmniejsze z twoich zmartwień). Jest dokładnie taki sam jak GetDate()pod okładkami (zobacz to pytanie, aby uzyskać więcej informacji na ten temat).

GetUTCDate()Jednak nie ma odpowiednika ANSI , który prawdopodobnie powinien być używany, jeśli aplikacja działa w więcej niż jednej strefie czasowej ...


5
Podoba mi się, CURRENT_TIMESTAMPponieważ działa w MySQL, SQL Server, Oracle ... Jak powiedziałeś, to najmniejsze z naszych zmartwień, ale zawsze pomaga.
Álvaro González
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.