无法使用REPLACE函数删除LONG数据类型列中的回车符

时间:2016-07-22 15:03:30

标签: sql oracle carriage-return

我正在使用Oracle SQL Developer中的LONG列,此列包含需要删除的回车符。使用后我得到的错误:

REPLACE ( col_name , CHR(13) , '' )是:

  

ORA-00932:不一致的数据类型:预期CHAR变长   00932. 00000 - “不一致的数据类型:预期%s获得%s”

有解决方法吗?

将非常感谢答案或建议!

1 个答案:

答案 0 :(得分:0)

您将无法使用LONG数据类型列执行任何操作。您应该将它们转换为CLOB。你刚刚找到了原因。

https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_long_lob.htm

有一个to_lob()函数可以将LONG转换为CLOB,但只能在select语句的insert部分中使用(也就是说,它只能用于将LONG列转换为CLOB列)。转换后,在生成的CLOB上使用文本函数应该没有问题。您可能还想查看DBMS_LOB包中的CLOB特定函数:

http://docs.oracle.com/cd/E11882_01/appdev.112/e40758/d_lob.htm#ARPLS600