Как использовать sql для получения первой и последней буквы каждого слова в строке

#sql #regex #oracle

#sql #регулярное выражение #Oracle

Вопрос:

Например. Сегодня прекрасный день

Результаты в TYISAFEDY

Я использую базу данных Oracle. Можно ли это сделать с помощью регулярного выражения?

Ответ №1:

Вы можете использовать:

 SELECT value,
       UPPER(REGEXP_REPLACE(value, '(w)(w*(w))?W*', '13')) AS firstandlast
FROM   table_name;
 

Что для образца данных:

 CREATE TABLE table_name (value) AS
SELECT 'Today is a fine day' FROM DUAL;
 

Выводит:

ЗНАЧЕНИЕ FIRSTANDLAST
Сегодня прекрасный день TYISAFEDY

db<>скрипка здесь