Выберите оператор, чтобы получить указанную дату в строке - PullRequest
0 голосов
/ 25 мая 2018

С такой таблицей:

article_tbl
 ID          varchar2(500) 
 REASON      varchar2(500)
 DESCRIPTION varchar2(500)

Мне нужно получить значение даты из REASON

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

Например:

ID |DESCRIPTION | REASON                                                                 |
------------------------------------------------------------------------------------------
1  |'DELETED'   |'THIS MESSAGE HAS BEEN DELETED ON 25/05/2018. PLEASE CHECK IN ARCHIVE.' |
2  |'AUTOREPLY' |'THIS WAS AUTOREPLY ON 25/05/2018.'                                     |
3  |'FORWARDED' |'THIS MESSAGE WAS FORWARDED ON 25/05/2015.MAILGROUP abc@outlook.com.'   |
4  |'SENT'      |'THIS MESSAGE WAS SENT TO SPECIFIC GROUP ON 25/05/2018'                 |

1 Ответ

0 голосов
/ 25 мая 2018

Если я хорошо понимаю и предполагаю, что все значения reason находятся в одном из перечисленных вами форматов с правильными датами, вы можете использовать:

select regexp_substr(reason, '[0-9]{2}\/[0-9]{2}\/[0-9]{4}')
from article_tbl

. Это просто возвращает строку вформат xx/xx/xxxx, где x - это цифра;пожалуйста, обратите внимание, что таким образом, даже что-то вроде 99/45/8123 будет извлечено.

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