Разница между датой и меткой времени в 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