数据库中有个CLOB 字段 TEST  然后我用DBMS_LOG.SUBSTR(TEST)取出具体的内容
在数据中 包括 52A:123 的内容 我想单独取出来 应该怎么写?

解决方案 »

  1.   

    比如说DBMS_LOG.SUBSTR(TEST)出来的内容是  1234564486513283252A:TEXT
    12345644865132832321352A:TEAT 
    123456448651311111A:TEBT的 我只要 52A:XXXX 这部分的内容 长度不等所以没法用SUBSTR这个应该怎么取
      

  2.   

    --给你思路,看看行不行:
    --获得冒号:的位置,然后截取
    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