MySQLで特定の文字のASCIIコード(番号)を取得するには?ASCII()関数の使い方
ASCII()関数とは
MySQLの文字列関数 ASCII() を使うと、指定した文字のASCII数値コードを取得できます。
構文
ASCII(str)
引数 str には、先頭文字のASCII値を取得したい文字列を指定します。
ここで重要なポイントとして、ASCII() 関数が返すのは、引数として渡された文字列の最も左側の文字(最初の1文字)の番号コードです。文字列全体ではなく、あくまで先頭の1文字だけが評価される点に注意しましょう。
使用例
mysql> SELECT ASCII('A') AS '大文字AのASCII値';
+--------------------------+
| 大文字AのASCII値 |
+--------------------------+
| 65 |
+--------------------------+
1 row in set (0.00 sec)
mysql> SELECT ASCII('a') AS '小文字aのASCII値';
+--------------------------+
| 小文字aのASCII値 |
+--------------------------+
| 97 |
+--------------------------+
1 row in set (0.00 sec)
mysql> SELECT ASCII('Abhay') AS '先頭文字のASCII値';
+---------------------------------+
| 先頭文字のASCII値 |
+---------------------------------+
| 65 |
+---------------------------------+
1 row in set (0.00 sec)実行結果の解説
上記の例から、以下のことが確認できます。
- 大文字の
'A'に対しては 65 が返される - 小文字の
'a'に対しては 97 が返される - 文字列
'Abhay'を渡した場合も、先頭文字'A'に対応する 65 が返される
大文字と小文字では異なるASCIIコードが割り当てられているため、英字の大小を区別して処理したい場合にも ASCII() 関数は役立ちます。
補足:空文字列を渡した場合
引数に空文字列 '' を指定すると、ASCII() 関数は 0 を返します。NULLを渡した場合は NULL が返されるため、実務で利用する際は入力値の扱いに注意してください。
-
MySQLの列に特定の単語(値)が出現する回数を取得する方法【COUNT()関数】
はじめにMySQLである特定の単語や値が、テーブルの列に何回出現するかを調べたい場合があります。たとえば「同じ名前の従業員が何人登録されているか」を確認したいときなどです。このような場合には、COUNT()関数を使用します。本記事では、サンプルテーブルを作成し、実際に特定の値の出現回数を取得する手順を解説します。1. サンプルテーブルの作成まず、以下のようにテーブルを作成します。mysql> create table DemoTable -> ( -> EmployeeId int NOT NULL AUTO_INCREMENT PRIMARY KEY, -
-
MySQLでCHAR()関数の逆の処理を行う方法|ASCII()とORD()の違いを解説
MySQLにおいて、CHAR()関数の逆の働きをするのは ASCII() 関数と ORD() 関数です。CHAR() は数値(文字コード)を文字に変換する関数ですが、ASCII() は引数の文字列の左端の文字に対応する数値(ASCIIコード)を返し、ORD() は左端の文字の文字コードを返します。 ASCII()とORD()の違い どちらも文字から数値への変換を行う点は共通していますが、以下のような違いがあります。 ASCII():シングルバイト文字専用。マルチバイト文字を渡すと警告が出て64を返します。 ORD():マルチバイト文字にも対応しており、最初のバイトの値に基づいて計算された文字