web-dev-qa-db-ja.com

MySQL行から先頭と末尾の引用を削除するにはどうすればよいですか?

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サーバーのバージョンに対応するマニュアルを確認してください

行の末尾と先頭の引用符をすべて削除するにはどうすればよいですか?

14
codacopia

試してみてください:

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

このクエリは、example_tableを更新して、title列の値から先頭と末尾の二重引用符を削除します。

テーブルを更新したくないが、二重引用符が削除された行をフェッチしたい場合は、@ SamDufelの回答を使用してください。

39
Shef

に変更するだけです

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

これは私の問題を解決しました

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

これは私のために働きます

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