Извлечь дату из столбца String в sql - PullRequest
0 голосов
/ 01 июня 2018

У меня есть столбец как current_data , и у него есть данные типа string и данные как {"урегулирование_даты": "2018-07-21"}.Мой вопрос заключается в том, что для каждой сделки расчетная дата будет различной, и я хочу извлечь дату, т.е. 2018-07-21 из столбца current_data для каждой сделки.Я попытался использовать select to_char (date_trunc (d.current_data, 'YYYY-MM-DD')) в качестве "Current_date", также я попробовал функцию подстройки, но она не работает

1 Ответ

0 голосов
/ 01 июня 2018

Похоже на JSON данные.Поскольку вы говорите, что это текстовый столбец внутри, вы можете использовать функцию substring, чтобы вырезать только те данные, которые вы ищете.

select substring(current_data from 21 for 10) from yourtable

Вы начинаете брать подстроку из 21 символа и указываете ее длинубудут следующие 10 символов.

С вашими примерами данных результат будет

db=# select substring('{"settlement_date":"2018-07-21"}' from 21 for 10);
 substring
------------
 2018-07-21

Осторожно, хотя это решение зависит от длины строки и предназначено для статического ввода, где извлеченныеподстрока всегда находится в одной и той же позиции.

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