Sql Oracle REPLACE()函数是';t处理载货退回及;换行
我们有一个带有Sql Oracle REPLACE()函数是';t处理载货退回及;换行,sql,oracle,Sql,Oracle,我们有一个带有varchar2(100)列的表,其中偶尔包含回车和换行符。我们希望删除SQL查询中的这些字符。我们正在使用: REPLACE( col_name, CHR(10) ) 这对没有影响,但是将“CHR(10)”替换为更传统的“字母”字符证明替换功能在其他情况下有效。我们还发现 REPLACE( col_name, CHR(10), '_' ) 查找新行的位置,但在其后插入下划线,而不是替换它 在Oracle8i上运行。升级不是一个选项。您确定您的换行符不是CHR(13)+CH
varchar2(100)
列的表,其中偶尔包含回车和换行符。我们希望删除SQL查询中的这些字符。我们正在使用:
REPLACE( col_name, CHR(10) )
这对没有影响,但是将“CHR(10)”替换为更传统的“字母”字符证明替换功能在其他情况下有效。我们还发现
REPLACE( col_name, CHR(10), '_' )
查找新行的位置,但在其后插入下划线,而不是替换它
在Oracle8i上运行。升级不是一个选项。您确定您的换行符不是
CHR(13)+CHR(10)
,在这种情况下,您的换行符是CHR(13)+''.'
,可能看起来仍然像一个换行符
尝试替换(col_name,CHR(13)+CHR(10),“”)如果数据库中的数据是从HTML表单文本区域控件发布的,不同的浏览器使用不同的新行字符: Firefox仅使用CHR(10)分隔行 Internet Explorer使用CHR(13)+CHR(10)分隔行 Apple(OSX之前)仅使用CHR(13)分隔行 因此,您可能需要以下内容:
set col_name = replace(replace(col_name, CHR(13), ''), CHR(10), '')
啊哈!凯德很有钱 蟾蜍中的工件将
\r\n
打印为两个占位符'blob'字符,但将单个\r
打印为两个占位符。解决方案的第一步是使用
REPLACE( col_name, CHR(13) || CHR(10) )
。。但我选择了稍微强劲一点的
REPLACE(REPLACE( col_name, CHR(10) ), CHR(13) )
。。以任何顺序捕捉冒犯角色。我非常感谢凯德
M.另一种方法是使用:
“x”是您不希望转换为null的任何字符,因为如果第三个参数为null,转换将无法正常工作。如果换行符为
CRLF
,则表示它是CHR(13)
后跟CHR(10)
。如果REPLACE(输入,CHR(10),'.')
,则会变成CHR(13)
,后跟下划线。由于CR
本身可以像换行符一样呈现,因此在您看来,换行符后面似乎插入了下划线,但实际上只替换了换行符的一半
使用
REPLACE(REPLACE(input,CHR(13)),CHR(10))
替换所有CR
和LF
。只是想写一个注释。我在格式化一个有自己想法的文本4000字段时遇到了问题,文本似乎会在报告中随机换行(或不换行)。当我使用上面提到的replace chr(10)更新列时。我的报告终于按照我的要求格式化了。好多了 DUMP()函数是一种很好的检查列的真实内容的方法,以防出现疑问。您能否详细介绍一下代码的'x'
部分?我没听懂。我知道您需要指定替换,但为什么需要在第二个参数的开头包含替换?如果您编写TRANSLATE(col_name,CHR(10)| | CHR(13),null)
,那么它将不起作用-它将始终返回null(null处理的一个怪癖)。如果您编写TRANSLATE(col_name,CHR(10)| | CHR(13),'x')
,那么它会将每个CHR(10)转换为'x',这不是所需要的。如果我们在两个参数前面都加上“x”前缀,那么它会将“x”转换为“x”,并将CHR(10)、CHR(13)转换为null,从而得到所需的结果。明白了,这就是引用的这一部分的意思在这种情况下,from_字符串末尾的额外字符在to_字符串中没有对应的字符。如果这些额外字符出现在char中,则它们将从返回值中删除。
谢谢!仍然有效,并在SSIS 2019中用于将数据从Oracle迁移到Snowflake;来自OP的12年。谢谢分享。谢谢这个,它真的帮助了我。我必须使用CSV(我没有选择这个…)将一些数据库内容导出到外部系统,我想将回车转换为简单的点。只是想补充一点,我的“+”符号出现语法错误,必须用“||”替换它,如下所示:replace(col_name,CHR(13)| | CHR(10),”)
TRANSLATE (col_name, 'x'||CHR(10)||CHR(13), 'x')