HANA: почему столбец меток времени обрезает миллисекунды и включает часовой пояс? - PullRequest
0 голосов
/ 01 ноября 2018

Я работаю с HANA DB, и меня смущает, почему миллисекунды усекаются из столбца метки времени.

Вот мой оператор создания таблицы:

create table test (
  timestamp TIMESTAMP  NOT NULL,
  name VARCHAR(255) NOT NULL
);

Значения в столбце метки времени соответствуют следующему формату:

Wed Oct31 2018 06:24:42 GMT+0000(UTC)

Я хотел бы иметь точность не менее 3 миллисекундных интервалов

Спасибо за ваше время заранее

1 Ответ

0 голосов
/ 01 ноября 2018

Тип данных временной метки SAP HANA поддерживает до 7 дробных секундных цифр. Однако он не хранит никакой информации о часовом поясе.

Распечатка, которую вы разместили, была обработана некоторой клиентской программой SAP HANA. Эта клиентская программа отображает формат метки времени (в HANA это на самом деле просто число). Оказывается, этот клиент не отображает доли секунды, а добавляет информацию о часовом поясе (по умолчанию, по умолчанию, в формате UTC).

Вы можете избежать рендеринга столбцов даты / времени по умолчанию, преобразовав данные метки времени в текстовое представление по своему вкусу.

SELECT "timestamp"
     , "name"
     , to_nvarchar("timestamp", 'DD.MM.YYYY HH24:MI:SS:FF3') as "timestamp_as_TEXT"
FROM "test";

должен отображать метку времени, включая доли секунды.

Весь вопрос преобразования формата отметки времени может быть довольно сложным.

В случае, если вашим клиентом БД является SAP HANA Studio, вы можете проверить это сообщение в блоге о том, как LOCALE вашей сессии ОС влияет на форматирование. Этот другой пост содержит более подробную информацию об обработке часовых поясов.

...