【问题标题】:How to remove carriage returns and line feeds from a column?如何从列中删除回车和换行?
【发布时间】:2013-12-13 22:52:37
【问题描述】:

我正在尝试从从 csv 文件导入的列中删除回车符和换行符。
我正在使用代码:

SELECT replace(replace(column,CHAR(13),''),CHAR(10),'')
FROM table

它正确地找到了所有的 CR 和 LF,但它没有更新数据库。

【问题讨论】:

  • 如果您想更改数据库中的数据,您需要一个UPDATE 查询。

标签: mysql sql line-breaks carriage-return


【解决方案1】:

您的查询从名为 TABLE 的表中检索所有行替换了该列。

关于更新你的数据库,你必须以这种方式使用 UPDATE 命令:

UPDATE table SET column = replace(replace(column,CHAR(13),''),CHAR(10),'')

如果你想要条件满足某些条件的UPDATE,那么你必须添加WHERE子句。

例如

UPDATE table SET column = replace(replace(column,CHAR(13),''),CHAR(10),'')
WHERE column_2 = 'XXX'

【讨论】:

  • 我可以添加吗,我最终计算出对于 each 表列,您必须添加:所以,对我来说是:SELECT customers.name,replace(替换(monies_in.description,CHAR(13),''),CHAR(10),''),monies_in.date,replace(replace(monies_in.bank_ref,CHAR(13),''),CHAR(10), ''),monies_in.amount,monies_in.apos_ref FROM monies_in INNER JOIN customers ON monies_in.payer_id = customers.id WHERE date BETWEEN "2020-3-31" AND "2021-4-1" INTO OUTFILE '/home/Data/ dest/spreadsheets/monies_in.csv' FIELDS TERMINATED BY ';'以“\n”结尾的行;
  • 对于大多数有更多 sql 经验的人来说可能很明显,。但是一分钱花了几分钟才给我!
猜你喜欢
  • 2017-05-05
  • 1970-01-01
  • 2019-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-09
  • 2010-10-26
  • 1970-01-01
相关资源
最近更新 更多