oracle varchar 열은 같은 단일 열에 "N.S. Code 123" , "N S Code 678" , "N S Codes 567" , "N.S.Code 345"
등과 같은 값이 여러 번 나타날 수 있습니다. 당신은 REGEXP_SUBSTR
및 CONNECT BY
을 사용할 수sql 쿼리는 varchar2 열에서 비슷한 문자열 패턴이 발생하는 모든 행을 출력합니다.
678
567
345
...
oracle varchar 열은 같은 단일 열에 "N.S. Code 123" , "N S Code 678" , "N S Codes 567" , "N.S.Code 345"
등과 같은 값이 여러 번 나타날 수 있습니다. 당신은 REGEXP_SUBSTR
및 CONNECT BY
을 사용할 수sql 쿼리는 varchar2 열에서 비슷한 문자열 패턴이 발생하는 모든 행을 출력합니다.
678
567
345
...
:로 출력에 대한 SQL 쿼리 필요합니다.
참고 : 패턴 \d{3}"
은 정확히 3 자리 숫자를 검색합니다. 그러나 숫자에 숫자가 다를 경우 \d+
을 사용할 수 있습니다.
또한 두 문자열을 문자열에 모두 입력했는지 확실하지 않습니다 ("N S Code"
및 "N S Codes"
). 그렇지 않으면 정규 표현식 패턴을 적용하기 위해 포함시킬 수 있습니다.
WITH t (str)
AS (SELECT '"N.S. Code 123" , "N S Code 678" , "N S Codes 567" , "N.S.Code 345"'
FROM DUAL)
SELECT REGEXP_SUBSTR (str,
'(\d{3})"',
1,
LEVEL,
NULL,
1)
FROM t
CONNECT BY LEVEL <= REGEXP_COUNT (str, '(\d{3})"');
시도해 주신 Kaushik에게 더 자세히 설명하겠습니다. – GZP
여러 개의 조인 된 테이블 및 다른 열에서 많은 열에 대한 데이터를 검색하는 쿼리는 하나의 값을 가지지 만 한 열 (예 : table3.col)에는 "NS 코드가 많습니다. NOS 1231 다른 NS 코드가 있습니다 No. 432421 NSCode 번호 6676571 및 NSCode 번호 543이 있으며 NSCode 4232 및 NS 코드 62381과 HS 코드 번호 646482 및 NS 코드 번호 88921 및 NS 코드 번호 12245와 NSCode : 7365가 있습니다. & NS 코드 : 4018768 및 NS 코드 : 142365 "이므로 다른 행에있는 NS 코드의 모든 맛을 다른 table.cols의 동일한 값으로 반복하여 표시해야합니다. – GZP
아직 시도한 적이 있습니까? 귀하의 질문에 조금 얇은입니다. –
동일한 * 열 * 또는 동일한 * 속성 *에? 당신의 문자열은''N.S. 코드 123 "또는"N.S. 코드 123 ","N S 코드 678 ","N S 코드 567 ","N.S.Code 345 " 문자열 당 하나의 정수를 말하는 경우에는 문자열 함수를 사용하여 문자열에서 추출하십시오. 당신은 당신의 문제가 무엇이고 당신이 실제로 붙어있는 곳을 설명하지 않았습니다. –
여러 개의 조인 된 테이블 및 다른 열에서 많은 열에 대한 데이터를 검색하는 쿼리는 하나의 값을 가졌지 만 한 열 (예 : table3.col)에는 "NS 코드가 많습니다. NOS 1231 다른 NS 코드가 있습니다 No. 432421 NSCode 번호 6676571 및 NSCode 번호 543이 있으며 NSCode 4232 및 NS 코드 62381과 HS 코드 번호 646482 및 NS 코드 번호 88921 및 NS 코드 번호 12245와 NSCode : 7365가 있습니다. & NS 코드 : 4018768 및 NS 코드 : 142365 ", 다른 행의 동일한 값을 반복하면서 다른 행에 NS 코드의 모든 맛을 표시해야합니다. Pls 도움말 – GZP