【发布时间】:2017-12-26 00:10:38
【问题描述】:
我有点过头了。
我有一个 SQL 数据库,我正在尝试用空格 + 换行符替换所有前面没有空格的换行符 (LF)。我为此使用 SQLiteStudio。我现在拥有的是以下内容:
UPDATE table
SET column = replace( column, '%' + char(10) + '%', ' ' )
当我运行上述查询时,以下数据:
<br><strong><font color="2018283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[LF]
elit, sed do eiusmod tempor incididunt ut labore et[LF]
<hr size="1px" noshade style="clear:both;margin-top:10px;height:1px;">
...变成:
<br><strong><font color="2% %18283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[LF]
elit, sed do eiusmod tempor incididunt ut labore et[LF]
<hr size="1px" noshade style="clear:both;margin-top:1% %px;height:1px;">
为了清楚起见,我在上面添加了 [LF]。可以看出,出于某种原因,我的查询仅替换了零,并且与换行符不匹配。
我最终需要的是:
<br><strong><font color="2018283286c3">
Lorem ipsum dolor sit amet, consectetur adipiscing[WHITESPACE][LF]
elit, sed do eiusmod tempor incididunt ut labore et[WHITESPACE][LF]
<hr size="1px" noshade style="clear:both;margin-top:1% %px;height:1px;">
... 这样只有 LF 之前还没有被空格匹配并替换为空格 + LF。理想情况下,LF 前面已经有一个空格。
任何想法我做错了什么,或者是否有更好的方法?我在网上找到了上述查询并尝试对其进行调整。不习惯与这些东西打交道。感谢阅读!
【问题讨论】:
-
你试过
replace(theColumn, char(13) + char(10), '')吗?还是只是 char(13)?
标签: sql replace match linefeed