MariaDBでは、ORD()
は、文字列引数の左端の文字の数値文字コードを返す組み込みの文字列関数です。
ORD()
関数はマルチバイト文字を処理できます。これは、ASCII()
とは対照的です。 1バイト(8ビット)文字のみを処理する関数。
構文
構文は次のようになります:
ORD(str)
str
文字列引数です。
ORD()
左端のみの数値コードを返します この文字列の文字。
左端の文字がマルチバイト文字の場合、ORD()
次の式を使用して結果を計算します。
(1st byte code)
+ (2nd byte code x 256)
+ (3rd byte code x 256 x 256) ...
例
簡単な例を次に示します。
SELECT ORD('H');
結果:
+----------+ | ORD('H') | +----------+ | 72 | +----------+
前述のように、ORD()
左端のコードのみを返します キャラクター。したがって、以下でも同じ結果が得られます。
SELECT ORD('Homer');
結果:
+--------------+ | ORD('Homer') | +--------------+ | 72 | +--------------+
これをさらに実証するために、上記の文字列の各文字からコードを取得しましょう:
SELECT
ORD('H'),
ORD('o'),
ORD('m'),
ORD('e'),
ORD('r');
結果:
+----------+----------+----------+----------+----------+ | ORD('H') | ORD('o') | ORD('m') | ORD('e') | ORD('r') | +----------+----------+----------+----------+----------+ | 72 | 111 | 109 | 101 | 114 | +----------+----------+----------+----------+----------+
マルチバイト文字
マルチバイト文字を使用する例を次に示します。
SELECT ORD('©');
結果:
+-----------+ | ORD('©') | +-----------+ | 49833 | +-----------+
大文字と小文字の区別
大文字のASCII値は、同等の小文字とは異なります。
例:
SELECT
ORD('H'),
ORD('h');
結果:
+----------+----------+ | ORD('H') | ORD('h') | +----------+----------+ | 72 | 104 | +----------+----------+
データベースの例
ORD()
の使用例を次に示します。 データベースクエリの場合:
USE PetHouse;
SELECT
PetName,
ORD(PetName) AS 'ASCII value of leftmost character'
FROM Pets;
結果:
+---------+-----------------------------------+ | PetName | ASCII value of leftmost character | +---------+-----------------------------------+ | Fluffy | 70 | | Fetch | 70 | | Scratch | 83 | | Wag | 87 | | Tweet | 84 | | Fluffy | 70 | | Bark | 66 | | Meow | 77 | +---------+-----------------------------------+
右端の文字
ここでは、RIGHT()
を使用します 各ペット名から右端の文字を返し、それをORD()
で再度使用する関数 その文字のASCII値を返す関数。
USE PetHouse;
SELECT
PetName,
RIGHT(PetName, 1) 'Rightmost character',
ORD(RIGHT(PetName, 1)) 'ASCII code'
FROM Pets;
結果:
+---------+---------------------+------------+ | PetName | Rightmost character | ASCII code | +---------+---------------------+------------+ | Fluffy | y | 121 | | Fetch | h | 104 | | Scratch | h | 104 | | Wag | g | 103 | | Tweet | t | 116 | | Fluffy | y | 121 | | Bark | k | 107 | | Meow | w | 119 | +---------+---------------------+------------+
空の文字列
空の文字列を指定すると、0
になります 返送されます。
SELECT ORD('');
結果:
+---------+ | ORD('') | +---------+ | 0 | +---------+
ヌル値
null
を提供する 結果はnull
返送されます。
SELECT ORD(null);
結果:
+-----------+ | ORD(null) | +-----------+ | NULL | +-----------+