我想要更新列image_name数据类型是oid 使用image1列数据类型是varchar
在更新过程中我遇到错误,如
更新mst_memberdetail set image_name = image1;
列“image”的类型为oid,但表达式的类型为字符变化
请告诉我如何转换显式数据类型
答案 0 :(得分:0)
我假设image1是一个引用LOB的OID?如果是这样,您可能不希望将其直接更新为varchar,因为您将获得转义二进制文件(可能是十六进制)。如果这是您的用例,这是您想要在客户端库中执行的操作,而不是在db后端中。
或者你可以写一个PL / Perl函数来取消二进制文件,并使用lo_ *函数读取它,将它传递给PL / Perl并更新varchar,但如果你有编码问题会失败,那么会很慢。
如果您使用的是lobs,我建议您保留原样。