--给你思路,看看行不行: --获得冒号:的位置,然后截取 WITH tab AS( SELECT '1234564486513283252A:TEXT' text FROM dual UNION ALL SELECT '12345644865132832321352A:TEAT' FROM dual UNION ALL SELECT '123456448651311111A:TEBT' FROM dual ) SELECT '52A'||SubStr(text,InStr(text,':')) text FROM tab WHERE InStr(text,'52A:')>0TEXT -------------- 52A:TEXT 52A:TEAT
12345644865132832321352A:TEAT
123456448651311111A:TEBT的 我只要 52A:XXXX 这部分的内容 长度不等所以没法用SUBSTR这个应该怎么取
--获得冒号:的位置,然后截取
WITH tab AS(
SELECT '1234564486513283252A:TEXT' text FROM dual UNION ALL
SELECT '12345644865132832321352A:TEAT' FROM dual UNION ALL
SELECT '123456448651311111A:TEBT' FROM dual
)
SELECT '52A'||SubStr(text,InStr(text,':')) text FROM tab
WHERE InStr(text,'52A:')>0TEXT
--------------
52A:TEXT
52A:TEAT