Разница между датой и меткой времени в sqlserver?
В чем разница между Timestamp
и Datetime
SQL Server?
Я думал, что оба формата способны хранить дату + время. Тогда, где разница между ними?
Но Timestamp
не может хранить информацию о дате, времени.
Какая разница?
Ответы
Ответ 1
Согласно документации, timestamp
является синонимом rowversion
- он автоматически генерирует и гарантирует 1 уникальность. datetime
не является - это просто тип данных, который обрабатывает даты и время и может быть указан клиентом на вставке и т.д.
1 Предполагая, что вы используете его правильно, конечно. См. Комментарии.
Ответ 2
Datetime - тип данных.
Timestamp - это метод для управления версиями строк. Фактически, в sql server 2008 этот тип столбца был переименован (т.е. Timestamp устарел) в rowversion. Это в основном означает, что каждый раз, когда изменяется строка, это значение увеличивается. Это делается с помощью счетчика базы данных, который автоматически увеличивается для каждой вставленной или обновленной строки.
Для получения дополнительной информации:
http://www.sqlteam.com/article/timestamps-vs-datetime-data-types
http://msdn.microsoft.com/en-us/library/ms182776.aspx