我想替换(或删除)TSQL-string中的换行符。 什么好主意吗?
最明显的
REPLACE(@string, CHAR(13), '')
就是不去做……
我想替换(或删除)TSQL-string中的换行符。 什么好主意吗?
最明显的
REPLACE(@string, CHAR(13), '')
就是不去做……
当前回答
有时
REPLACE(myString, CHAR(13) + CHAR(10), ' ')
不能工作。在这种情况下,使用以下片段代码:
REPLACE(REPLACE(myString, CHAR(13),''), CHAR(10), ' ')
其他回答
REPLACE(@string, CHAR(13) + CHAR(10), '')
到@Cerebrus解决方案:对于字符串“+”的H2不支持。所以:
REPLACE(string, CHAR(13) || CHAR(10), 'replacementString')
我想清除一个列的内容,以生成一个csv文件,所以想摆脱逗号(,)在varchar以及换行符和回车。
我还想最终使用生成的csv来创建另一个脚本(将行插入到另一个db中),所以也需要在varchar中更改为“因此最终得到了这个…
REPLACE(REPLACE(REPLACE(REPLACE(ErrorMessage, CHAR(13), ''), CHAR(10), ''),',',''),'''','''''')
也许还有其他更好的方法,但它已经完成了任务。
上面/之前发布的答案被报道为取代CHAR(13)CHAR(10)回车:
REPLACE(REPLACE(REPLACE(MyField, CHAR(13) + CHAR(10), 'something else'), CHAR(13), 'something else'), CHAR(10), 'something else')
永远不会到达代码的REPLACE(MyField, CHAR(13) + CHAR(10), 'something else')部分,并将返回不需要的结果:
'something else''something else'
而不是单一的理想结果:
'something else'
这将需要REPLACE脚本重写如下:
REPLACE(REPLACE(REPLACE(MyField, CHAR(10), 'something else'), CHAR(13), 'something else'), CHAR(13) + CHAR(10), 'something else')
当流首先测试第一个/最左边的REPLACE语句时,如果失败,将继续测试下一个REPLACE语句。
T-SQL中的换行符由CHAR(13) & CHAR(10)(回车+换行)表示。因此,可以使用要替换换行符的文本创建REPLACE语句。
REPLACE(MyField, CHAR(13) + CHAR(10), 'something else')