Ответ 1
getdate()
или getutcdate()
.
Я парень MySQL, работающий над проектом SQL Server, пытаясь получить поле datetime, чтобы показать текущее время. В MySQL я бы использовал NOW(), но он не принимает этого.
INSERT INTO timelog (datetime_filed) VALUES (NOW())
getdate()
или getutcdate()
.
getdate()
является прямым эквивалентом, но вы всегда должны использовать datetime UTC
getutcdate()
зависит ли ваше приложение от часовых поясов или нет - в противном случае вы рискуете закрутить математику даты при переходах spring/fall
SYSDATETIME()
и SYSUTCDATETIME()
являются DateTime2 эквивалентами
которые возвращают DateTime.
DateTime2 теперь является предпочтительным методом для хранения даты и времени в SQL Server 2008+. См. Следующий fooobar.com/questions/13772/....
Вы также можете использовать CURRENT_TIMESTAMP
, если вам нравится быть более совместимым с ANSI (хотя, если вы переносите код между поставщиками баз данных, это будет наименьшим из ваших забот). Это точно так же, как GetDate()
под обложками (подробнее см. этот вопрос).
Нет эквивалента ANSI для GetUTCDate()
, однако, вероятно, тот, который вы должны использовать, если ваше приложение работает более чем в одном часовом поясе...