Equivalente di SQL Server di MySQL NOW ()?


197

Sono un ragazzo di MySQL che lavora su un progetto SQL Server, cercando di ottenere un campo datetime per mostrare l'ora corrente. In MySQL userei NOW () ma non lo accetta.

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

Risposte:



74
getdate() 

è l'equivalente diretto, ma è sempre necessario utilizzare i tempi di utilizzo UTC

getutcdate()

indipendentemente dal fatto che la tua app funzioni su più fusi orari oppure no, altrimenti corri il rischio di rovinare la matematica delle date nelle transizioni primavera / autunno



24

Puoi anche usare CURRENT_TIMESTAMP, se hai voglia di essere più conforme ANSI (anche se stai portando il codice tra i fornitori di database, questo sarà l'ultimo dei tuoi dubbi). È esattamente lo stesso di GetDate()sotto le copertine (vedi questa domanda per ulteriori informazioni al riguardo).

Non esiste un equivalente ANSI GetUTCDate(), tuttavia, che è probabilmente quello che dovresti usare se la tua app funziona in più di un singolo fuso orario ...


5
Mi piace CURRENT_TIMESTAMPperché funziona in MySQL, SQL Server, Oracle ... Come hai detto, è l'ultima delle nostre preoccupazioni ma aiuta sempre.
Álvaro González,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.