MySQLで文字列の先頭1文字以外を削除する方法
MySQLで文字列の最初の1文字だけを残し、残りをすべて削除したい場合は、LEFT()関数を使用します。LEFT()関数は、文字列の左端から指定した文字数を取り出す関数です。
この関数とUPDATE文を組み合わせることで、テーブル内の文字列データを簡単に先頭1文字のみに置き換えることができます。実際の手順を見ていきましょう。
サンプルテーブルの作成
まず、テーブルを作成します。
mysql> create table DemoTable
-> (
-> FirstName varchar(100)
-> );
Query OK, 0 rows affected (0.96 sec)
データの挿入
次に、INSERTコマンドを使ってテーブルにレコードを挿入します。
mysql> insert into DemoTable values('Sam');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Mike');
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('David');
Query OK, 1 row affected (0.14 sec)登録データの確認
SELECT文でテーブル内の全レコードを表示して確認しましょう。
mysql> select *from DemoTable;
出力結果
+-----------+
| FirstName |
+-----------+
| Sam |
| Mike |
| David |
+-----------+
3 rows in set (0.00 sec)
先頭1文字以外を削除するクエリ
文字列の最初の文字以外をすべて削除するには、次のようにUPDATE文とLEFT()関数を組み合わせます。LEFT(FirstName, 1)と指定することで、「FirstNameの左端から1文字」だけを取得できます。
mysql> update DemoTable set FirstName=left(FirstName,1);
Query OK, 3 rows affected (0.13 sec)
Rows matched: 3 Changed: 3 Warnings: 0
3行すべてが更新されました。それでは、テーブルの内容を再度確認してみましょう。
mysql> select *from DemoTable;
出力結果
+-----------+
| FirstName |
+-----------+
| S |
| M |
| D |
+-----------+
3 rows in set (0.00 sec)
このように、「Sam」「Mike」「David」という文字列が「S」「M」「D」に変換されました。LEFT()関数の第2引数の数値を変更すれば、先頭から任意の文字数だけを残すことも可能です。
補足:SUBSTRING()関数を使う方法
同様の処理は、SUBSTRING()関数を使っても実現できます。例えば SUBSTRING(FirstName, 1, 1) とすれば、「1文字目から1文字分」を抽出できます。用途に応じて使い分けるとよいでしょう。
-
PHPで文字列の先頭の文字を削除する方法
PHPで文字列の先頭(最初)の文字を削除するには、主に2つの方法があります。substr()関数を使う方法と、ltrim()関数を使う方法です。それぞれ具体的なコード例とともに解説します。方法1:substr()関数を使うsubstr()関数は、文字列の指定した位置から部分文字列を取得します。開始位置に「1」を指定することで、先頭の1文字を除外した文字列を取得できます。コード例<?php $str = Test; echo 削除前の文字列 = .$str;
-
C#で文字列の最初の文字を取得するには?
C#で文字列の先頭の1文字を取得したい場合、Substring()メソッドを使うのが最もシンプルで一般的な方法です。対象となる文字列の例まず、次のような文字列があったとします。string str = Welcome to the Planet!;Substring()メソッドで最初の文字を取り出す最初の文字だけを取得するには、Substring(0, 1)のように、開始位置「0」から抽出する長さ「1」を指定します。string res = str.Substring(0, 1);これで変数 res には文字列の1文字目だけが格納されます。サンプルコード(完全版)実際に動作するコード全体は以下