SQLserver Timestamp пытается установить по умолчанию получение нечитаемого результата - PullRequest
2 голосов
/ 23 ноября 2011

У меня есть поле метки времени в таблице, и я снял флажок в конструкторе для разрешения пустых значений Я не могу ввести что-либо в значение по умолчанию и поле привязки (это выделено серым цветом и не позволяет ничего вводить) Я пытаюсь все мои эксперименты SQL в конструкторе запросов SQL Server Express 2008

Если я вставлю новую запись в таблицу, поле отметки времени даст значение, которое выглядит следующим образом: 0x00000000000007D7

Как видите, это абсолютно нечитаемо:

Как я могу обойти это / получить читаемую отметку времени там?

1 Ответ

4 голосов
/ 23 ноября 2011

Используйте DATETIME с ограничением по умолчанию GETDATE

Вы можете сделать это так:

CREATE TABLE myTable
(
    ID INT IDENTITY(1,1) PRIMARY KEY CLUSTERED,
    myTimeStamp datetime NOT NULL DEFAULT GETDATE()
)

TIMESTAMP - это двоичное поле, используемое для контроля версий строк, и его нельзя редактировать.

С BOL :

timestamp - это тип данных, который предоставляет автоматически генерируемые двоичные числа, которые гарантированно будут уникальными в базе данных. временная метка обычно используется в качестве механизма для таблицы версий строк. Размер хранилища составляет 8 байт.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...