Я хочу иметь столбец, в котором пометка времени по умолчанию добавляется при вставке. Я сделал это в MySQL, выбрав опцию timestamp по умолчанию. Как это сделать в SQL Server?Можно ли вставить метку времени в sql?
ответ
ALTER TABLE [table] ADD [CreationTimeStampUTC] DATETIME DEFAULT(GETUTCDATE())
Или вы могли бы сделать то же самое с GETDATE()
, который я думаю, что я видел больше в реальном коде. Обратите внимание, конечно, что GETDATE()
будет оцениваться с текущим временем сервера SQL Server и может совпадать с текущим временем веб-сервера, если он у вас есть, или, в частности, на машине клиента. Очевидно, что с этим нет никаких проблем, просто убедитесь, что вы заранее знаете о последствиях. Вы также можете сохранить эту временную метку как DATETIMEOFFSET
, чтобы избавиться от некоторых из этих проблем, но поскольку вы говорите явно о значениях по умолчанию на сервере, я думаю, что UTC вполне достаточен.
ALTER TABLE table_name ADD InsertTime DATETIME DEFAULT GETDATE()
Что вы ищете, это ограничение по умолчанию. Как вы его добавите, зависит от того, существует ли столбец или нет. Если нет, то вы можете добавить столбец и ограничение в одном кадре, как так:
alter table dbo.yourTable
add [NewColumn] datetime
constraint [DF_NewColumn] default (getdate());
Если столбец уже существует, вы можете прикрепить к нему по умолчанию так:
alter table dbo.yourTable
add constraint [DF_ExistingColumn] default (getdate()) for [ExistingColumn];
Наконец, если таблица еще не существует, вы можете добавить ограничение для определения таблицы:
create table dbo.yourTable (
NewColumn datetime not null constraint [DF_NewColumn] default (getdate())
)
Примечание: во всех случаях, я дал ограничение имя. Вы можете отказаться от этого, но тогда вы, в конечном итоге, получите худшего администратора базы данных, чтобы узнать, почему ее сравнение с базами данных беспорядок, потому что имена ограничений не совпадают между dev и prod. :)
- 1. Вставить метку времени в таблицу
- 2. Можно ли увеличить метку времени в str_replace?
- 3. Вставить метку времени Панды в Mongodb
- 4. Как вставить будущую метку времени в Postgres
- 5. Невозможно вставить конкретную метку времени в таблицу
- 6. Как вставить метку времени в таблицу mysql
- 7. Вставить строку в метку времени не удается
- 8. Вставить метку времени в таблицу улья
- 9. Как вставить метку времени в GQL DateTimeProperty()?
- 10. Вставить временную метку в MS SQL
- 11. mysql можно ли вставить вставить?
- 12. eclipse java Как вставить метку времени сборки
- 13. SQLAlchemy не удается вставить метку времени в MSSQL
- 14. , что является наиболее эффективным способом, чтобы вставить метку времени в метку времени с CQL
- 15. SQL: преобразовать дату в метку времени
- 16. как использовать метку времени в SQL
- 17. Когда использовать метку времени в sql 2008?
- 18. Как преобразовать метку времени в SQL?
- 19. SQLite: Вставить текущую метку времени с точностью миллисекунды
- 20. Вставить временную метку в HREF
- 21. Вставить метку времени UTC (millis) в столбец timestamp Oracle
- 22. Вставить метку времени на новую строку в vim
- 23. Изменить метку времени в mysql
- 24. java sql - вставить временную метку в базу данных sql
- 25. Можно ли разместить текстовую метку в слое?
- 26. Изменить метку времени на mySQL
- 27. Преобразование времени строки в UNIX метку времени
- 28. не может вставить метку времени в поле временной метки таблицы
- 29. Как правильно вставить метку времени в mysql с php?
- 30. отправить SQL-метку времени с C#
FYI, SQL Server поддерживает значения по умолчанию, отличные от констант. – DMason
@DMason О, эй, ты прав. Даже лучше. Благодарю. Я никогда не читал определение документации «постоянное выражение», поэтому я не знал, что они подсчитали системные функции. Узнавайте что-то новое каждый день. Я отрегулирую свой ответ. Еще раз спасибо. –
По умолчанию метка времени, я имею в виду текущее время, в которое вставлена строка. Мне нужна текущая временная метка. – Rahul