如何修改MySQL行的前导和尾随报价?

cod*_*pia 13 mysql database trim

我有一个从CSV文件导入的MySQL表.在此过程中,一堆条目具有引号和尾随几个数据行的条目.例如表'example_table'我有一行叫做'title'.其中一些标题写成:

"title1"
"title2"
"title3"
Run Code Online (Sandbox Code Playgroud)

有些是没有引号的:

title4
title5
title6
Run Code Online (Sandbox Code Playgroud)

我已经尝试了各种SQL调用来修剪行但我不断收到错误.这是我的SQL调用:

SELECT * FROM `example_table` TRIM(LEADING '"' FROM "title")
Run Code Online (Sandbox Code Playgroud)

这是我运行调用时MySQL的错误:

1064 - 您的SQL语法出错; 检查与MySQL服务器版本对应的手册,以获得正确的语法

如何摆脱行中的所有尾随和引导引号?

She*_*hef 42

尝试:

UPDATE `example_table` 
   SET `title` = TRIM(BOTH '"' FROM `title`)
Run Code Online (Sandbox Code Playgroud)

此查询将更新您example_tabletitle列,以从列的值中删除前导和尾随双引号.

如果您不想更新表,但想要删除双引号的行,那么请使用@Sam Dufel的答案.


小智 6

这对我有用

select trim(both '"' from column_name) from table_name;
Run Code Online (Sandbox Code Playgroud)


小智 6

这解决了我的问题

UPDATE table_name SET column_name = REPLACE(column_name,'"','')
Run Code Online (Sandbox Code Playgroud)

  • 此方法还可以删除内部字符串中的引号。 (2认同)

Sam*_*fel 5

只需将其更改为

SELECT TRIM(BOTH '"' FROM title) AS trimmed_title FROM `example_table` 
Run Code Online (Sandbox Code Playgroud)