Разница между datetime и timestamp в sqlserver? [дубликат]


этот вопрос уже есть ответ здесь:

  • В чем разница между datetime и timestamp 4 ответы

в чем разница между Timestamp и Datetime SQL Server?

Я думал, что оба формата могут хранить дату + время. Тогда в чем же разница между ними?

но Timestamp не способен хранить информацию о дате, времени.

еще какая разница?

2 72

2 ответа:

По данным документация,timestamp синоним rowversion - он автоматически генерируется и гарантированный1 должен быть уникальным. datetime нет - это просто тип данных, который обрабатывает даты и время, и может быть указан клиентом при вставке и т. д.


1 предполагая, что вы используете его правильно, конечно. Смотрите комментарии.

Datetime-это тип данных.

Timestamp-это метод управления версиями строк. Фактически, в sql server 2008 Этот тип столбца был переименован (т. е. отметка времени устарела) в rowversion. Это в основном означает, что каждый раз, когда строка изменяется, это значение увеличивается. Это делается с помощью счетчика базы данных, который автоматически увеличивается для каждой вставленной или обновленной строки.

дополнительные информация:

http://www.sqlteam.com/article/timestamps-vs-datetime-data-types

http://msdn.microsoft.com/en-us/library/ms182776.aspx