MySQLで指定カラムの文頭もしくは文末に文字を追記する方法
MySQLで特定カラムの文頭もしくは文末に年月日日時(YmdHis)を追記したいというケースが偶にあるが、今までは一旦当該データを取得しPHP側で追記した後にupdateしていた。ただ、最近見たソースコードでCONCATを用いてスマートに対応している方法があったので忘れないようにメモ。
対応方法
ソースコード
/* 文頭に追記 */ UPDATE `test_table` SET `mail` = CONCAT(DATE_FORMAT(NOW(), '%Y%m%d%H%i%s'), '_', `mail`) WHERE id = 1; /* 文末に追記 */ UPDATE `test_table` SET `mail` = CONCAT(`mail`, '_', DATE_FORMAT(NOW(), '%Y%m%d%H%i%s')) WHERE id = 1;
mailカラムの文頭もしくは文末にYmdHis形式の文字を追記するという内容になる。バッククォートとシングルクォーテーションが混合しているので注意すること。
リファレンス
CONCAT
https://dev.mysql.com/doc/refman/8.0/ja/string-functions.html#function_concat
関連記事
-
-
MySQLで日時や日付で範囲検索する際に動作速度を向上させる方法
MySQLでログ系等の大量にデータが格納されているテーブルから日時や日付で範囲検 ...
-
-
MySQLでホスト指定しても正常に接続できない場合
MySQL自体は動いており、ユーザーも登録されているのに、ホスト名を指定しても正 ...
-
-
MySQLで全国の市区町村のデータを入手し、抽出する方法
都道府県と市区町村が連携したセレクトメニューを作成したかった。具体的には大阪府を ...
-
-
MySQLでグループ化したものを条件で絞る(HAVING)
正規化したテーブルがあってその中には idとtagのカラムがある。 でtagの方 ...
-
-
MySQLでカラム内容によって条件分岐させたい場合の対応方法
MySQLでカラムの内容によって条件を分岐させたかった。またPHPで処理するので ...