【问题标题】:How Do I Trim Leading and Trailing Quote from MySQL Row?如何修剪 MySQL 行的前导和尾随引号?
【发布时间】:2011-10-06 19:37:24
【问题描述】:

我有一个从 CSV 文件导入的 MySQL 表。在这个过程中,一堆条目在几个数据行的条目前面和后面都有引号。例如表'example_table'我有一行叫做'title'。其中一些标题写成:

"title1"
"title2"
"title3"

有些是不带引号的:

title4
title5
title6

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

SELECT * FROM `example_table` TRIM(LEADING '"' FROM "title")

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

1064 - 您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册以了解正确的语法使用

如何去除行中所有尾随和前导引号?

【问题讨论】:

    标签: mysql database trim


    【解决方案1】:

    这解决了我的问题

    UPDATE table_name SET column_name = REPLACE(column_name,'"','')
    

    【讨论】:

    • 这个方法也可以删除内部字符串中的引号。
    【解决方案2】:

    这对我有用

    select trim(both '"' from column_name) from table_name;
    

    【讨论】:

    • 此解决方案有效!但是如何在不指定列名的情况下修剪所有列?
    【解决方案3】:

    试试:

    UPDATE `example_table` 
       SET `title` = TRIM(BOTH '"' FROM `title`)
    

    此查询将更新您的 example_table 以从 title 列的值中删除前导和尾随双引号。

    如果您不想更新表,但想获取删除了双引号的行,请使用@Sam Dufel 的答案。

    【讨论】:

    • 其他方法可用于更改值,但您的答案实际上更新了我需要的表格。谢谢:)
    【解决方案4】:

    把它改成

    SELECT TRIM(BOTH '"' FROM title) AS trimmed_title FROM `example_table` 
    

    【讨论】:

    • 如何在不指定列名的情况下修剪所有列?
    猜你喜欢
    • 1970-01-01
    • 2011-01-16
    • 1970-01-01
    • 2013-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多