MySQLの列値に文字列を追加する方法は?


123

既存の値の前に追加する文字列「test」ですべての行の特定のフィールドを更新するためのSQL更新ステートメントが必要です。

たとえば、既存の値が「try」の場合、「testtry」になるはずです。

回答:


261

これを行うには、CONCAT関数を使用できます。

UPDATE tbl SET col=CONCAT('test',col);

より巧妙になり、まだテストが追加されていない列のみを更新したい場合は、

UPDATE tbl SET col=CONCAT('test',col)
WHERE col NOT LIKE 'test%';

16
UPDATE tablename SET fieldname = CONCAT("test", fieldname) [WHERE ...]

TICKETを更新set status_details = CONCAT(status _details、 'abc')where ticket_id = 75108; エラー1583(42000):ネイティブ関数 'CONCAT'への呼び出しのパラメーターが正しくあり
ません

9

MySQLの多くの文字列更新関数は次のように機能しているようです。1つの引数がのnull場合、連結または他の関数も戻りnullます。したがって、フィールドをnull値で更新するには、まず、次のようにnull以外の値に設定します。''

例えば:

update table set field='' where field is null;
update table set field=concat(field,' append');

6

それは簡単です

UPDATE YourTable SET YourColumn = CONCAT('prependedString', YourColumn);

テストをすでにtestで始まる列にのみ連結するWHERE句まで修正します。したがって、foo-> foo footest-> footest testfoo-> testtestfoo
Jukka Dahlbom

0
  • UPDATE table_name SET Column1 = CONCAT( 'newtring'、table_name.Column1)where 1
  • UPDATE table_name SET Column1 = CONCAT( 'newtring'、table_name.Column2)where 1
  • UPDATE table_name SET Column1 = CONCAT( 'newtring'、table_name.Column2、 'newtring2')where 1

テーブルの同じ列または他の列も連結できます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.