MySQLで郵便番号の最初の部分を取得する方法
SUBSTRING()を使って郵便番号の最初の部分を抽出する
郵便番号(PostCode)から最初の部分を取得するには、SUBSTRING()関数を使用します。まずは、サンプル用のテーブルを作成しましょう。
mysql> create table DemoTable858(PostCode varchar(100)); Query OK, 0 rows affected (0.56 sec)
レコードの挿入
INSERTコマンドを使って、テーブルにいくつかのレコードを挿入します。
mysql> insert into DemoTable858 values('US90 456');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable858 values('UK1 EN789343');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable858 values('ENG78884 736454654');
Query OK, 1 row affected (0.12 sec)テーブルの内容を確認する
SELECT文を使用して、テーブル内のすべてのレコードを表示します。
mysql> select *from DemoTable858;
実行すると、以下のような出力が得られます。
+--------------------+ | PostCode | +--------------------+ | US90 456 | | UK1 EN789343 | | ENG78884 736454654 | +--------------------+ 3 rows in set (0.00 sec)
郵便番号の最初の部分を取得するクエリ
以下が、PostCodeから最初の部分(空白の前の文字列)を抽出するクエリです。LOCATE()関数で空白の位置を特定し、SUBSTRING()関数で先頭からその位置の1文字手前までの文字列を取り出しています。
mysql> select substring(PostCode, 1, locate (' ', PostCode) - 1) AS GetFirstPart from DemoTable858;実行結果は以下のとおりです。
+--------------+ | GetFirstPart | +--------------+ | US90 | | UK1 | | ENG78884 | +--------------+ 3 rows in set (0.00 sec)
このように、SUBSTRING()とLOCATE()を組み合わせることで、区切り文字(この場合は空白)の前にある文字列を簡単に抽出できます。郵便番号やコード番号など、特定の形式で区切られたデータを処理する際に非常に便利なテクニックです。
-
MySQLのLEFT関数で文字列の左側から指定した文字数を取得する方法
MySQLのLEFT関数で文字列の左側から一部を取得する文字列の先頭(左側)から指定した文字数だけ抽出したい場合には、MySQLのLEFT()関数を使用します。書式は「LEFT(カラム名, 取得する文字数)」となり、第1引数に対象の文字列、第2引数に抽出する文字数を指定します。それでは、実際にテーブルを作成して動作を確認してみましょう。1. テーブルの作成まず、以下のコマンドでテーブルを作成します。mysql> create table DemoTable -> ( -> Title
-
MySQLで最後の30行を取得する方法(ORDER BY DESCとLIMITの使い方)
MySQLでテーブルの最後の30行を取得したい場合は、ORDER BY DESC(降順ソート)とLIMIT 30を組み合わせるのが基本です。降順に並べ替えることで、最新(またはIDが大きい)レコードが先頭に来るため、先頭から30件を取り出すことで実質的に「最後の30行」が取得できます。基本構文SELECT * FROM テーブル名 ORDER BY カラム名 DESC LIMIT 30;それでは、実際にサンプルテーブルを作成して動作を確認していきましょう。1. テーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable1567