Еквівалент SQL Server NOW () MySQL?


197

Я хлопець MySQL, який працює над проектом SQL Server, намагаючись отримати поле для дати, щоб показати поточний час. У MySQL я б використовував NOW (), але це не приймає.

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

Відповіді:



74
getdate() 

є прямим еквівалентом, але завжди слід використовувати UTC datetimes

getutcdate()

незалежно від того, чи працює ваш додаток через часові пояси чи ні - інакше ви ризикуєте накрутити математику дати на переходах весна / осінь.



24

Ви також можете використовувати CURRENT_TIMESTAMP, якщо вам здається, що ви сумісніші з ANSI (хоча якщо ви переносите код між постачальниками баз даних, це буде мінімум ваших турбот). Це точно так само, як GetDate()під обкладинками (див. Це питання докладніше про це).

Однак немає ANSI-еквівалента GetUTCDate(), але це, мабуть, те, що ви повинні використовувати, якщо ваш додаток працює в більш ніж одному часовому поясі ...


5
Мені це подобається, CURRENT_TIMESTAMPбо він працює в MySQL, SQL Server, Oracle ... Як ви вже говорили, це найменше з наших турбот, але це завжди допомагає.
Альваро Гонсалес
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.