Вопрос по regex, sql, string – Подсчет количества вхождений символа в Oracle SQL [закрыто]
Как я могу посчитать, сколько раз определенный символ встречается в столбце в Oracle? Например, если у меня есть столFOO
который имеет такие данные, какa,ABC,def
а также2,3,4,5
Я хочу подсчитать, сколько раз в данных появляется запятая.
CREATE TABLE foo (
str varchar2(30)
);
INSERT INTO foo VALUES( 'a,ABC,def' );
INSERT INTO foo VALUES( '2,3,4,5' );
commit;
Вывод, который я хочу, это
str cnt
a,ABC,def 2
2,3,4,5 3
не получается использовать оракул sql ..
Sharath
Попробуйте вариант по этой ссылкеblogs.oracle.com/aramamoo/entry/…
premnathcs
используя PL / SQL у меня есть.
Sharath
2
ответа
length
а такжеreplace
:
select (length(your_col) - length(replace(your_col, ','))) from your_table;
replace
без третьего аргумента просто уберет персонажа.
regexp_count
был введен в 11.1), я бы посчитал более понятным сделать что-то вроде
SELECT regexp_count( <<column_name>>, ',' )
FROM <<table_name>>
который вы можете увидеть со своим столом
SQL> ed
Wrote file afiedt.buf
1 select str, regexp_count( str, ',' )
2* from foo
SQL> /
STR REGEXP_COUNT(STR,',')
------------------------------ ---------------------
a,ABC,def 2
2,3,4,5 3
Error: User Rate Limit Exceededstackoverflow.com/questions/6042568/…
Похожие вопросы
не получается использовать оракул sql ..
Попробуйте вариант по этой ссылке<a href="https://blogs.oracle.com/aramamoo/entry/how_to_split_comma_separated_string_and_pass_to_in_clause_of_select_statement" rel="nofollow noreferrer">blogs.oracle.com/aramamoo/entry/…</a>
используя PL / SQL у меня есть.