У меня есть следующее выражение: 15-JUL-16,20-JUL-16,20-JUL-16,30-JUL-16
в одном из моих столбцов.Sql Orcle: Regexp_substr
Я успешно использовал SUBSTR(REGEXP_SUBSTR(base.systemdate, '.+,'), 1, 9)
, чтобы получить 15-JUL-16
(выражение до первой запятой) из выражения.
Но я, черт возьми, не могу понять, как получить 30-JUL-16
(последнее выражение после последней запятой).
Есть ли способ использовать REGEXP_SUBSTR
, чтобы получить это? И так как мы на нем.
Есть ли опрятный способ использовать только REGEXP_SUBSTR
, чтобы получить 15-JUL-16
без запятой? Потому что я использую второй SUBSTR, чтобы избавиться от запятой, поэтому я могу получить его совместимым с форматом данных.
Не храните данные как элементы, разделенные запятой, имеют одно значение для каждого столбца/строки. – jarlh
Вы хотите разделить строку, разделенную запятыми. Этот вопрос задавали и отвечали так много раз - просто Google для «Oracle split csv» или такого. – mathguy
Спасибо за предложение, но я не могу контролировать способ хранения данных в нашем хранилище данных. Я просто работаю с тем, что получаю. Но повторить мой вопрос. Как я могу переписать SUBSTR (REGEXP_SUBSTR (base.systemdate, '. +,'), 1, 9), чтобы использовать REGEXP_SUBSTR без дополнительного SUBSTR, чтобы получить первую дату перед первой запятой без запятой? –