Меня спросили в интервью, вопросом от оракула sql.this, казалось, был простой вопрос, но у меня не было ключа к разгадке answer.could, которому кто-либо помогает?
если существует строка как "Нью-Йорк, красивый город" в colum.
select column_name from table_name;
закончится
newyork is a beautiful city
что является запросом, требуемым дать вывод как строку со всеми первыми буквами. т.е. вывод должен быть
niabc
Если вас не волнует поддержание случая вывода, это можно сделать без рекурсии:
SQL> select
2 translate(
3 initcap('newyork is a BEAUTIFUL city')
4 , 'ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz'
5 , 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
6 )
7 from dual
8 /
TRANS
-----
NIABC
SQL>
Если предложение содержит цифры, знаки препинания и т.д., то нам придется добавить эти символы в первую строку замены, что может стать довольно утомительным.
Может быть, это включает с использованием функции Substr ?
Вы можете использовать описанную описанную функцию (заменяя запятую пространство), чтобы разделить предложение по его пробелам. Затем вы можете использовать функцию Substr, поскольку AJ говорит, потому что результат разделения позволит вам начать от CHAR 1 для CHAR 2 каждого «штука».
Это связано с субстрами, верно ??
PS. Я предпочел бы обработать результат в слое выше, а не во время запроса. Но это я.