我在名为 datos
的列中有以下数据。我想将第 8 个斜杠 (DR004) 之后的文本更新为 DR013。
/1/14/0/0/ / / /DR004/1/rttrgftgr/ZM003/0/0/0/1/0/
我尝试过使用这个
update sumcon
set substr(datos, instr(datos, '/', 1, 8) + 1, 1) =
decode(substr(datos, instr(datos, '/', 1, 8) + 1, 1), ' ', 'DR013')
where nis_rad = 200000732;
但它不起作用。
以下是 datos
列中的数据示例
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / /DR008/1/ /ZM004/0/0/0/0/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/1/0/0/0/
/1/14/0/0/ / / /DR008/1/ /ZM004/0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/0/1/1/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
/1/14/0/0/ / / /DR001/1/ /ZM004/0/0/0/0/0/
/1/14/0/0/ / / / /1/ / /0/0/0/1/0/
最佳答案
每@LalitKumarB's建议,将 UPDATE 语句更改为
UPDATE SUMCON
SET DATOS = SUBSTR(DATOS, 1, INSTR(DATOS, '/', 1, 8)) ||
'DR013' ||
SUBSTR(DATOS, INSTR(DATOS, '/', 1, 9))
WHERE NIS_RAD = 200000732;
关于sql - 使用 substr 和 instr 更新分隔字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29772735/