数値リテラル

広告

MySQLにおいて数値リテラルを記述する場合のルールについて確認していきます。

数値リテラルを記述する場合は、文字列とは異なりそのまま数値を記述して下さい。

100
13.254

また正負を表す'-'や'+'を記述することができます。

-32
-0.332

浮動小数点数については指数形式でも記述することができます。

1.414e+5   (=141400)
8.7E-3     (=0.0087)

では試してみます。

mysql> select 100, 13.254, -32, -0.9, 1.41e+5, 8.7E-3;

p2-1

16進数

16進数をそのまま記述した場合、文字コードとして扱われ文字に変換されます。

mysql> select 0x41, 0x42;

p2-2

16進数を数値として扱うには2つ方法があります。1つ目は数値との演算を行う方法です。

mysql> select 0x41+0;

MySQLでは必要に応じて文字列から数値へ変換したり、数値から文字列へ変換を行います。数値との演算(今回は0を加算)を行うと16進数は数値として処理されます。0を加えても結果は変わりませんので結果的に16進数が表す数値を取得します。

p2-3

もう一つはキャスト関数を使う方法です。次のように使います。

mysql> select CAST(0x41 AS UNSIGNED);

p2-4

TRUEとFALSE

MySQLでは定数としてTRUEとFALSEが定義されており、それぞれ数値の1と0が設定されています。

mysql> select TRUE, FALSE;

p2-5

なお定数は大文字小文字は区別されませんのでtrueやfalseも同じです。

( Written by Tatsuo Ikura )