[SQL] 문자열의 문자와 숫자의 수를 찾기
SQL문자열의 문자와 숫자의 수를 찾기
안녕하세요 저는 아래와 같이 테이블 검사를
NAME
---------
abc1234
XYZ12789
a12X8b78Y9c5Z
나는 문자열에서 숫자와 문자 수의 수를 찾으려고
select name,length(replace(translate(lower(name),'abcdefghijklmnopqrstuvwxyz',' '),' ','')) as num_count,
length(replace(translate(name,'1234567890',' '),' ','')) as char_count
from test6;
출력을주는 그 실행 미세한
NAME NUM_COUNT CHAR_COUNT
abc1234 4 3
XYZ12789 5 3
a12X8b78Y9c5Z 7 6
하지만 내 질문은 ABCDEFGHIJKLMNOPQRSTUVWXYZ를 제공하지 않음으로써 어떤 옵션이 있습니다 및 1234567890 수동으로
해결법
-
==============================
1.내가 제대로 이해한다면 당신은 오라클 PLSQL을 사용하고 내가 아는 한, 거기 어떤 "내장"(PLSQL에서) 방법이 카운트 문자열에서 숫자 / 문자의 수.
내가 제대로 이해한다면 당신은 오라클 PLSQL을 사용하고 내가 아는 한, 거기 어떤 "내장"(PLSQL에서) 방법이 카운트 문자열에서 숫자 / 문자의 수.
그러나, 당신은 문자를 계산하려면 다음을 수행 할 수 있습니다 : 이중에서 () [0-9], REGEXP_REPLACE ( 'abcd12345') 길이를 선택
와 숫자 : 이중에서 LENGTH (REGEXP_REPLACE ( 'abcd12345', '[A-ZA-Z]를'))을 선택
또는 귀하의 경우 :
select name, LENGTH(REGEXP_REPLACE(name,'[a-zA-Z]','')) as num_count, LENGTH(REGEXP_REPLACE(name,'[0-9]','')) as char_count, from test6;
빌 도마뱀의 경우 : 내 대답은 오라클 11g에서 테스트되었으며 그것은 잘 작동합니다! 다시 내 대답을 삭제하기로 결정한 경우, 이유를 설명하는 주석을 추가 할 수있는 친절하게도하시기 바랍니다. 또한 대화방에서 당신을 찾고 있었다 ...
-
==============================
2.@alfasin의 대답은 좋다, 그러나 당신이 11g 사용하는 경우 그것은 간단하게 얻을 수 있습니다 :
@alfasin의 대답은 좋다, 그러나 당신이 11g 사용하는 경우 그것은 간단하게 얻을 수 있습니다 :
select name, REGEXP_count(name,'\d') as num_count, REGEXP_count(name,'[a-zA-Z]') as char_count, from test6;
from https://stackoverflow.com/questions/11380329/finding-the-count-of-characters-and-numbers-in-a-string by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL Server 데이터베이스 정렬 변경 (0) | 2020.07.02 |
---|---|
[SQL] 어떻게 데이터베이스에 다른 이름과 같은 스키마를 Excel 파일을 가져? (0) | 2020.07.02 |
[SQL] MySQL의 문 안에 PHP 변수를 포함하는 방법 (0) | 2020.07.02 |
[SQL] SQL에서 계산 델타 (현재 및 이전 행의 차이) (0) | 2020.07.02 |
[SQL] 내부를 많이 사용하여 쿼리를 개선하는 것은 wp_postmeta, 키 / 값 테이블에 조인 (0) | 2020.07.02 |