我想在oracle SQL中找到一種方法,將第一個「/」從右到第四個「/」之後的所有文本。我需要做的這一個SQL語句..在Oracle SQL中向後Oracle INSTR
table name: access_log
col name: download
value: Download file:/webdocs/data/groupXXX/case/03_28_54_9_0000011856.pdf
我試圖用
case
那麼有多少匹配的計數結束了?這可以做到嗎?
我想在oracle SQL中找到一種方法,將第一個「/」從右到第四個「/」之後的所有文本。我需要做的這一個SQL語句..在Oracle SQL中向後Oracle INSTR
table name: access_log
col name: download
value: Download file:/webdocs/data/groupXXX/case/03_28_54_9_0000011856.pdf
我試圖用
case
那麼有多少匹配的計數結束了?這可以做到嗎?
一個簡單SUBSTR
方法從Oracle 10g的+
select TRIM(BOTH '/' FROM
substr(
download,
INSTR(download,'/',1,4),
INSTR(download,'/',1,5)-INSTR(download,'/',1,4)
)
)
FROM ACCESS_LOG;
作品和計數可能是,
SELECT
COUNT(
CASE WHEN TRIM(BOTH '/' FROM
substr(
download,
INSTR(download,'/',1,4),
INSTR(download,'/',1,5)-INSTR(download,'/',1,4)
)
) = 'case'
THEN
1
END
) COUNT_MATCHED
FROM
ACCESS_LOG;
定的反向從左邊,反向扭轉一個字符串,也許你可以逆轉,比賽? – 2014-11-24 19:01:22
其實,它必須可能與(可能多個)REGEXP_SUBSTR? – 2014-11-24 19:04:57
很抱歉,但我不明白你想要什麼算究竟 – Aramillo 2014-11-24 20:21:40