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
这条语句是什么意思??能给详细解释下吗??

解决方案 »

  1.   

    (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 看懂了?
      

  2.   

    (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字符这句话不是例题吧 感觉没什么意义 而且条理不是很清晰 哈哈 菜鸟愚见