Как восстановить значение `timestamp` в Sybase ASE 15.5?
Я reading
data
из одной таблицы Sybase ASE 15.5
database
а также inserting
тот data
обратно в другую цель Sybase ASE 15.5
database
, Все source
а также destination
данные сопоставлены вместо timestamp
колонка.
Как то, что я знаю о timestamp
столбец, что он обновляется автоматически:
Каждый раз, когда строка, содержащая столбец отметки времени, вставляется или обновляется, столбец отметки времени автоматически обновляется. В таблице может быть только один столбец типа метки времени. Столбец с именем timestamp автоматически будет иметь метку времени системного типа.
Поэтому, когда я восстанавливаю timestamp
данные обратно в целевую базу данных не совпадают с фактической.
Вот экран, краткий исходной таблице
Вот экран, короткий к Таблице назначений
Как восстановить точное значение метки времени столбца?
FYI:
я использую Apache Meta-model
запросить данные из исходной таблицы и восстановить эти данные обратно в целевую базу данных.As you can see timestamp is an array of bytes so I am extracting data as an array of bytes and restore it again as array of bytes but the value timestamp column is being changed when restore
,
1 ответ
Ты не можешь Столбец метки времени всегда будет обновляться; это значение, которое содержат эти столбцы, является "отметкой времени базы данных", которая лежит в основе механизма транзакций в ASE и увеличивается на единицу для каждой вставленной или обновленной строки или любого другого изменения в базе данных. Однако название "временная метка" вводит в заблуждение, поскольку не имеет абсолютно никакого отношения к реальному времени. Это всего лишь 6-байтовый счетчик, который увеличивается только в течение срока службы базы данных.
Если вы хотите, чтобы в этих столбцах отображалось реальное время, используйте тип данных datetime или bigdatetime.