有一张数据统计表,其中的一个字段pt是包含多个代码、由":"分隔(比如2251:03:11:25685)。想使用instr函数,在数据集中把该字段拆分成多个代码字段,instr(pt,':')定位到第一个冒号位置(没有报错),instr(pt,':',1,2)想定位第二个冒号的位置就报错了。是什么原因呢,或者有什么其他方法?
你要看看你是什么数据库呀。
SELECT
REGEXP_SUBSTR('2251:03:11:25685', '[^:]+', 1, 1) AS col1,
REGEXP_SUBSTR('2251:03:11:25685', '[^:]+', 1, 2) AS col2,
REGEXP_SUBSTR('2251:03:11:25685', '[^:]+', 1, 3) AS col3,
REGEXP_SUBSTR('2251:03:11:25685', '[^:]+', 1, 4) AS col4
FROM dual;
-----------
SQL
where xx='${INDEXOFARRAY(SPLIT(参数名,":"),2)}'