24

「filename」列のMySQLデータベーステーブル「photos」があります。ファイル名の列の値のスペースをアンダースコアに置き換える必要があります。単一/複数のクエリで可能ですか?もしそうなら、どのように?

4

2 に答える 2

61

あなたはREPLACE関数を使うことができます:

REPLACE(str,from_str,to_str)

str文字列のすべての出現箇所が文字列from_str に置き換えられた文字列を返しますto_str
REPLACE()を検索するときに大文字と小文字を区別する一致を実行しfrom_strます。

したがって、テーブルのすべての行で文字のすべての出現箇所を別の出現箇所に置き換えるには、次のようにする必要があります。

update photos set filename = replace(filename, ' ', '_');

つまり、列で''を検索し、filename代わりに'_'を使用します; 結果をに戻しますfilename

于 2009-11-27T05:51:15.230 に答える
5
update photos set filename = replace(filename,' ', '_');
于 2009-11-27T05:42:06.560 に答える