Postgres двойная точность на сегодняшний день - PullRequest
0 голосов
/ 15 декабря 2018

Я хочу преобразовать / преобразовать десятичные данные в данные даты.Я смотрел онлайн и все еще борюсь.Вы можете помочь?«value» - это двойная точность, и здесь я конвертирую ее в varchar.С этого момента я пытался использовать конвертирование, но все еще не могу получить значение даты.

Заранее спасибо!

выберите приведение (значение как varchar (8)) date_value, значение

Например: значение 43099 должно читаться 12/30/2017.

Sample varchar(8) | value

1 Ответ

0 голосов
/ 15 декабря 2018

Судя по вашему скудному примеру, вам может понадобиться следующее:

SELECT date '1899-12-30' + 43099; -- returns date '2017-12-30'

Вам нужно привести ваш value столбец к integer для этого:

SELECT date '1899-12-30' + value::int; 

Значение,число может представлять количество дней, начиная с 1900 года (с ошибкой «на 2», которую я не могу объяснить).

Добавление integer к date означает добавление количества дней.

Если ваш value может иметь дробные цифры, вы можете вычислить временную метку аналогичным образом:

SELECT timestamp '1899-12-30' + interval '1 day' * value;
...