Получение подстроки после формата чч: мм: сс в Oracle PL sql - PullRequest
0 голосов
/ 25 апреля 2018

Предположим, ниже приведена строка:

"Раджив Верма 20.03.2008 3:48:39 Том сказал мне, чтобы комментировать здесь"

Мне нужно получить подстроку, которая будет после формата чч: мм: сс всегда:

«Том велел мне комментировать здесь».

Как это может быть достигнуто с помощью Oracle sql?

1 Ответ

0 голосов
/ 25 апреля 2018

Вы можете использовать REGEXP_SUBSTR с шаблоном для сопоставления времени:

DECLARE
  p_input   VARCHAR2(4000) := 'Rajiv Verma 3/20/2018 3:48:39 Tom has told me to comment here';
  p_comment VARCHAR2(4000);
BEGIN
  p_comment := REGEXP_SUBSTR(
                 p_input,
                 '\d\d?:\d\d?:\d\d?(.*)$',
                 1,     -- Start from the 1st character
                 1,     -- Find the 1st match
                 NULL,  -- No flags
                 1      -- Return the 1st capture group
               );
END;
/

или в SQL:

SELECT REGEXP_SUBSTR(
         your_string,
         '\d\d?:\d\d?:\d\d?(.*)$',
         1,     -- Start from the 1st character
         1,     -- Find the 1st match
         NULL,  -- No flags
         1      -- Return the 1st capture group
       )
FROM   your_table;

Документация по шаблонам регулярных выражений Oracle (perl) можно найти здесь .

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