日期:2014-05-17  浏览次数:20974 次

一个关于INSTR的问题
update DRV_TEMP_MID set ZTBM=p_ZTBM,SHSJ=sysdate where INSTR(','||p_id||',',','||id||',')>0;

这个语句是什么意思,重点解析instr在这里是什么意思,谢谢!!!

------解决方案--------------------
instr
类似于sql server的chaindex

你这句的意思就是查询在ID中第一次存在p_id的位置.由于你的ID是以逗号分隔的,所有需要前后都加上逗号.

类似于:

id = ',1,2,3,4,5,6,10,12'
p_id = '1'

如果不加逗号,则会把1,12,10搞混.
加上逗号后,则准确了.