LPAD・RPAD関数で文字列を埋め込みながらMySQLテーブルを更新する方法
MySQLでは、LPAD()関数やRPAD()関数とUPDATE文を組み合わせることで、列の値に文字列を埋め込み(パディングし)、その結果でテーブルを直接更新することができます。
ここでは、サンプルテーブル「examination_btech」を使って、具体的な手順を解説します。
RPAD()関数で末尾に文字列を追加して更新する例
例えば、「course」列の値の末尾に「(CSE)」という文字列を追加し、その結果でテーブル自体も更新したい場合は、次のようなクエリを実行します。
mysql> Update examination_btech set course = RPAD(Course, 11,'(CSE)'); Query OK, 10 rows affected (0.16 sec) mysql> Select * from examination_btech; +-----------+----------+-------------+ | RollNo | Name | Course | +-----------+----------+-------------+ | 201712001 | Rahul | B.tech(CSE) | | 201712002 | Raman | B.tech(CSE) | | 201712003 | Sahil | B.tech(CSE) | | 201712004 | Shalini | B.tech(CSE) | | 201712005 | Pankaj | B.tech(CSE) | | 201712006 | Mohan | B.tech(CSE) | | 201712007 | Yash | B.tech(CSE) | | 201712008 | digvijay | B.tech(CSE) | | 201712009 | Gurdas | B.tech(CSE) | | 201712010 | Preeti | B.tech(CSE) | +-----------+----------+-------------+ 10 rows in set (0.00 sec)
上記の実行結果を見ると、「course」列の各値の末尾に「(CSE)」が追加され、テーブルが正しく更新されていることがわかります。
LPAD()関数で先頭に文字列を追加して更新する
同様に、LPAD()関数を使用すれば、列の値の先頭に文字列を埋め込み、そのままテーブルを更新することも可能です。用途に応じて、文字列を前に付ける場合はLPAD()、後ろに付ける場合はRPAD()を使い分けるとよいでしょう。
-
MySQLでCASE WHENを使って列内の2つの値を交換・更新する方法
MySQLである列内の2つの値を入れ替え(スワップ)したい場合、CASE WHEN文を使えば一度のUPDATE文で簡単に実現できます。ここでは、サンプルテーブルを作成しながら、実際に値を交換する手順を解説します。 1. サンプルテーブルの作成 まず、テーブルを作成します。 mysql> create table DemoTable1382 -> ( -> StudentName varchar(20) -> ); Query OK, 0 rows affected (0.57 sec) 2. レコードの挿入 INSERTコマンドでいくつかのレ
-
MySQLで月ごとにテーブルの値を合計する方法を解説
MySQLでテーブル内の値を月ごとに合計したい場合は、EXTRACT()関数を使用します。この関数を使うことで、日付から特定の月の情報を抽出できます。例えば、年に関係なく1月のすべての価格を合計したい場合などに便利です。サンプルテーブルの作成まず、デモ用のテーブルを作成しましょう。mysql> create table DemoTable1415 -> ( -> ProductPurchaseDate date, -> ProductPrice int -> ); Query OK, 0 rows affected (0.53 se