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