3
我有一些我想從我的SQL Server表中解析出的關鍵值。下面是這些鍵值的一些例子:在某個字符之後但在另一個字符之前獲取SQL子串
R50470B50469
B17699C88C68AM
R22818B17565C32G16SU
B1444
什麼,我想走出字符串,是所有發生的數在字符'B'之後,但在任何其他字母字符之前,如果存在,例如'C'。我怎樣才能在SQL中做到這一點?
我有一些我想從我的SQL Server表中解析出的關鍵值。下面是這些鍵值的一些例子:在某個字符之後但在另一個字符之前獲取SQL子串
R50470B50469
B17699C88C68AM
R22818B17565C32G16SU
B1444
什麼,我想走出字符串,是所有發生的數在字符'B'之後,但在任何其他字母字符之前,如果存在,例如'C'。我怎樣才能在SQL中做到這一點?
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%'