Подтвердить что ты не робот

Временная метка даты по умолчанию SQL Server?

У меня есть поле, которое когда что-то вставлено, я хочу, чтобы он получил текущую дату и время и вставлял это в базу данных. Есть ли способ получить дату и время и установить его как значение по умолчанию?

В настоящее время значением по умолчанию является: (getdate()), который устанавливает только дату. Как установить время?

4b9b3361

Ответ 1

GETDATE() - дата и время в SQL Server.

Запустите SELECT GETDATE(), чтобы проверить это.

Каков тип данных вашего поля? Если он DATE, то он также не будет хранить значения времени.

Ответ 2

Один простой способ - дать поле ограничение по умолчанию:

create table YourTable 
    (
    ... other columns ...
    CreateDt datetime default getdate(),
    ... other columns ...
    )

Недостатком этого метода является то, что вы можете перезаписать значение, указав его в предложении insert.

Ответ 3

Лично я хотел бы использовать GETUTCDATE() вместо GETDATE(), чтобы избежать путаницы.

Ответ 4

SYSDATETIME() получит текущую дату и время.

Убедитесь, что тип данных столбца datetime, а не только date или он не сможет сохранить дату и время.

Ответ 5

Большинство реализаций (движков) SQL имеют функцию CURRENT_TIMESTAMP.