Как получить текущее время в SQL?

Хотите получить current datetime для вставки в столбец lastModifiedTime. Я использую MySQL базу данных. Мои вопросы:

  1. есть ли функция доступна в SQL? или

  2. это зависит от реализации, поэтому каждая база данных имеет свою собственную функцию для этого?

  3. Какая функция доступна в MySQL?

Ответы

Ответ 1

Полный ответ:

1. Есть ли функция, доступная в SQL?
Да, спецификация SQL 92, окт. 97, стр. 171, раздел 6.16 определяет следующие функции:

CURRENT_TIME       Time of day at moment of evaluation
CURRENT_DATE       Date at moment of evaluation
CURRENT_TIMESTAMP  Date & Time at moment of evaluation

2. Реализация зависит от того, что каждая база данных имеет свою функцию для этого?
Каждая база данных имеет свои собственные реализации, но они должны реализовать три функции выше, если они соответствуют спецификации SQL 92 (но зависят от версии спецификации)

3. Какая функция доступна в MySQL?

NOW() returns 2009-08-05 15:13:00  
CURDATE() returns 2009-08-05  
CURTIME() returns 15:13:00  

(Как говорит SixFootTallRabbit)

Ответ 3

NOW() возвращает 2009-08-05 15:13:00

CURDATE() возвращает 2009-08-05

CURTIME() возвращает 15:13:00

Ответ 4

Я хочу дату и время сейчас()!

Во всяком случае, для MySQL.

Ответ 5

SYSDATETIME() 2007-04-30 13:10:02.0474381
SYSDATETIMEOFFSET()2007-04-30 13:10:02.0474381 -07:00
SYSUTCDATETIME() 2007-04-30 20:10:02.0474381
CURRENT_TIMESTAMP 2007-04-30 13:10:02.047 +
GETDATE() 2007-04-30 13:10:02.047 
GETUTCDATE() 2007-04-30 20:10:02.047

Я думаю, что NOW() не работает некоторое время и дает ошибку "СЕЙЧАС" не является признанным встроенным именем функции.

Надеюсь, это поможет!!! Спасибо. https://docs.microsoft.com/en-us/sql/t-sql/functions/getdate-transact-sql

Ответ 6

Для SQL Server используйте GetDate() или current_timestamp. Вы можете отформатировать результат с помощью Convert (dataType, value, format). Пометьте свой вопрос на правильном сервере базы данных.

Ответ 7

Просто дополнение для SQLite, вы также можете использовать

CURRENT_TIME
CURRENT_DATE
CURRENT_TIMESTAMP

для текущего времени, текущей даты и текущей отметки времени. Вы получите те же результаты, что и для SQL

Ответ 8

  1. GETDATE() или GETUTCDATE() теперь заменены более богатыми SYSDATETIME, SYSUTCDATETIME и SYSDATETIMEOFFSET (в SQL 2008)
  2. Да, я не думаю, что ANSI когда-либо что-либо заявлял, и поэтому у каждого производителя есть свои.
  3. Это было бы NOW()

Надеюсь, это поможет...

обкрадывать