Изменить формат даты из массива в операторе SQL SELECT - PullRequest
0 голосов
/ 29 октября 2019

У меня есть столбец updated_at , который возвращает массив

["2019-01-05T17:28:32.506-05:00","2019-06-15T13:22:02.625-04:00"]

Но мне нужен формат даты вывода, подобный этому 2019-01-03.

Как мне это сделать в sql dricksricks?

Спасибо!

Ответы [ 2 ]

0 голосов
/ 31 октября 2019

Попробуй unnest и приведи это как дату:

with ts_array as
     (select array['2019-01-05T17:28:32.506-05:00','2019-06-15T13:22:02.625-04:00'] as tsa)
select unnest(tsa)::date from ts_array ;
0 голосов
/ 30 октября 2019

Вы можете использовать SQL-функцию « date_trunc », чтобы получить выходные данные в формате даты.

date_trunc (fmt, ts) - Возвращает метку времени ts, усеченную до единицы, указанной моделью форматаFMT. fmt должен быть одним из [«ГОД», «ГГГГ», «ГГ», «МЕСЯЦ», «МЕСЯЦ», «ММ», «ДЕНЬ», «ДД», «ЧАС», «МИНУТА», «ВТОРОЙ»,«НЕДЕЛЯ», «КВАРТАЛ»]

Примеры:

> SELECT date_trunc('YEAR', '2015-03-05T09:32:05.359');
 2015-01-01 00:00:00
> SELECT date_trunc('MM', '2015-03-05T09:32:05.359');
 2015-03-01 00:00:00
> SELECT date_trunc('DD', '2015-03-05T09:32:05.359');
 2015-03-05 00:00:00
> SELECT date_trunc('HOUR', '2015-03-05T09:32:05.359');
 2015-03-05 09:00:00

Ссылка: Блоки данных - функции SQL .

Надеюсь, это поможет.

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