2011-12-06 3 views
3

SQL Server 테이블에서 구문 분석 할 일부 키 값이 있습니다. 다음은이 키 값의 몇 가지 예입니다특정 문자 다음에 다른 문자 앞에 SQL 부분 문자열 가져 오기

R50470B50469

B17699C88C68AM

R22818B17565C32G16SU

B1444은 발생하는 모든 숫자 내가 문자열 나갈 걸려있다

문자 'B'다음에 'C'와 같은 다른 문자 문자 앞에옵니다. SQL에서는 어떻게 할 수 있습니까?

답변

2
WITH VALS(Val) AS 
(
SELECT 'R50470B50469' UNION ALL 
SELECT 'R22818B17565C32G16SU' UNION ALL 
SELECT 'R22818B17565C32G16SU' UNION ALL 
SELECT 'B1444' 
) 
SELECT SUBSTRING(Tail,0,PATINDEX('%[AC-Z]%', Tail)) 
FROM VALS 
     CROSS APPLY 
     (SELECT RIGHT(Val, LEN(Val) - CHARINDEX('B', Val)) + 'X') T(Tail) 
WHERE Val LIKE '%B%' 
관련 문제