我试过更新查询:
Update table_name
set data='.....' || Dbms_lob.substr(data,1,20)
where key ='...'
可以更新,但第20位之后的所有数据也被清除。
如何修改sql?
答案 0 :(得分:2)
检查dbms_lob.substr上的语法。它与标准substr相反,所以如果你想要数据的前20个字符,它将是dbms_lob.substr(data,20,1)。或者,更好,
dbms_lob.substr(lob_loc=>data,amount=>20,offset=>1);
请注意,它返回一个varchar2,因此金额<= 32767.
答案 1 :(得分:0)
update [tableName] set field = dbms_lob.substr(field,3,1)+'abc'where field = value
它无法工作......