
update a set name=name+(select b.name from b where b.id=a.id)
修改完成后a表id=3的值為什么是空的
uj5u.com熱心網友回復:
字串無法直接使用+相加,這個陳述句會報錯uj5u.com熱心網友回復:
他這個應該不是 oracle 的庫。
uj5u.com熱心網友回復:
基本上就是有與null相加結果為空這樣的特性吧
uj5u.com熱心網友回復:
如果是ORACLE的資料庫,可以試試這個。update a set name=(select nvl(a.name,'')||nvl(b.name,'') from b where b.id=a.id)
uj5u.com熱心網友回復:
不是oracle的資料庫吧,如果sqlserver可以用isnull或者加個exists的條件,只更新a表中能在b表能找到對應的id行uj5u.com熱心網友回復:
a等于3取到的值是null吧,不過按照理解應該是a=3的值不變把uj5u.com熱心網友回復:
update b set b.tname =b.tname||(select a.tname from a where a.id =b.id );Oracle的應該是這樣吧,直接name=的話,id=3還是為空的
uj5u.com熱心網友回復:
null+一切=nulluj5u.com熱心網友回復:
老哥,這是字符型 你用+ 什么意思? 沒理解錯的話 你需要把+換成||uj5u.com熱心網友回復:
update a set name=name||(select b.name from b where b.id=a.id)uj5u.com熱心網友回復:
應該是null的問題uj5u.com熱心網友回復:
空值運算導致轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/41649.html
標籤:開發
