日期:2014-05-16  浏览次数:20872 次

数据库语句求助
update (select case when(instr(t.ms,'货物')=0)then ms 
else substr(t.ms,0,instr(t.ms,'货物')+1)
end case,t.* from t_h t) set hms=case
这条语句是什么意思??能给详细解释下吗??

------解决方案--------------------
(select case when(instr(t.ms,'货物')=0)then ms
else substr(t.ms,0,instr(t.ms,'货物')+1)
end case,t.* from t_h t) 相当于一个表

update 表 set hms=case 看懂了?
------解决方案--------------------
(select case when(instr(t.ms,'货物')=0)then ms
else substr(t.ms,0,instr(t.ms,'货物')+1)
end case,t.* from t_h t) 就解释下这句话吧

分析一下结构,只需弄清楚case when(instr(t.ms,'货物')=0)then ms
else substr(t.ms,0,instr(t.ms,'货物')+1)
end case,这句话吧 对吧。case when...then...else...end case 这个结构你应该知道吧

when(instr(t.ms,'货物')=0) then ms 就是说如果'货物'没有在t.ms中出现 就select ms 
否则 substr(t.ms,0,instr(t.ms,'货物')+1) 就select t.ms的前instr(t.ms,'货物')+1字符

这句话不是例题吧 感觉没什么意义 而且条理不是很清晰 哈哈 菜鸟愚见