【MySQL】文字列の先頭1桁を削除するクエリの書き方
MySQLで文字列の先頭にある桁(最初の1文字)を削除したい場合は、SUBSTR()関数を使用します。SUBSTR()は指定した位置から文字列を切り出す関数で、開始位置に「2」を指定することで、1文字目を除外した残りの文字列を取得できます。
SUBSTR()を使った基本構文
UPDATE テーブル名 SET カラム名 = SUBSTR(カラム名, 2);
実際の使用例
1. テーブルを作成する
まず、サンプル用のテーブルを作成します。
mysql> CREATE TABLE DemoTable607 (Value VARCHAR(100)); Query OK, 0 rows affected (0.69 sec)
2. レコードを挿入する
INSERTコマンドでいくつかのデータを追加します。
mysql> INSERT INTO DemoTable607 VALUES('83967364');
Query OK, 1 row affected (0.17 sec)
mysql> INSERT INTO DemoTable607 VALUES('10939432');
Query OK, 1 row affected (0.15 sec)
mysql> INSERT INTO DemoTable607 VALUES('932111');
Query OK, 1 row affected (0.16 sec)3. 現在のデータを確認する
SELECT文ですべてのレコードを表示してみましょう。
mysql> SELECT * FROM DemoTable607;
実行結果は以下の通りです。
+----------+ | Value | +----------+ | 83967364 | | 10939432 | | 932111 | +----------+ 3 rows in set (0.00 sec)
先頭の桁を削除するUPDATEクエリ
以下が、先頭の1文字を削除するためのMySQLクエリです。
mysql> UPDATE DemoTable607 SET Value = SUBSTR(Value, 2); Query OK, 3 rows affected (0.14 sec) Rows matched: 3 Changed: 3 Warnings: 0
更新後のデータを確認する
もう一度テーブルの内容を確認してみます。
mysql> SELECT * FROM DemoTable607;
実行結果:
+---------+ | Value | +---------+ | 3967364 | | 0939432 | | 32111 | +---------+ 3 rows in set (0.00 sec)
ポイント解説
SUBSTR(Value, 2)は、文字列の2文字目以降をすべて返します。UPDATE文でこの結果をカラムに代入し直すことで、先頭の1文字を削除した状態にデータを一括更新できます。
なお、SUBSTR()はSUBSTRING()の別名(シノニム)であり、どちらを使用しても同じ動作になります。また、WHERE句を組み合わせれば、特定の条件に一致する行だけを対象に更新することも可能です。
-
MySQLで角括弧([])で囲まれたテキストを削除する方法
MySQLでは、REPLACE()、SUBSTRING()、LOCATE()といった文字列関数を組み合わせることで、角括弧 [ ] で囲まれた部分のテキストを削除できます。この記事では、実際にテーブルを作成しながら、その手順とクエリの仕組みをわかりやすく解説します。 1. テーブルの作成 まず、サンプル用のテーブルを作成します。 mysql> create table DemoTable -> ( -> Name text -> ); Query OK, 0 rows affected (0.47 sec) 2. レコードの挿入 INSERTコマ
-
MySQLで末尾のスペースを削除する方法:RTRIM()関数の使い方
MySQLで文字列の末尾(右側)のスペースを削除したい場合は、RTRIM()関数を使用します。この記事では、実際にテーブルを作成し、データを挿入して、RTRIM()を使って末尾の余分なスペースを取り除く手順を解説します。1. テーブルを作成するまず、サンプル用のテーブルを作成しましょう。mysql> create table DemoTable -> ( -> FirstName varchar(50) -> ); Query OK, 0 rows affected (1.38 sec)ここでは、FirstNameというvarchar型のカラムを