Documentation Home
MySQL 5.6 リファレンスマニュアル
Download this Manual
PDF (US Ltr) - 26.8Mb
PDF (A4) - 26.9Mb
HTML Download (TGZ) - 7.1Mb
HTML Download (Zip) - 7.2Mb


MySQL 5.6 リファレンスマニュアル  /  ...  /  16 進数リテラル

9.1.4 16 進数リテラル

MySQL では、X'val'x'val'、または 0xval 形式を使って記述された 16 進値をサポートしています。この場合、val には 16 進数字 (0..9A..F) を指定します。数字の大文字と小文字は区別されません。X'val' または x'val' 形式で値を記述する場合、val には偶数の桁を入れる必要があります。0xval 構文を使用して値を記述する場合、奇数の桁が含まれる値は、追加の先行 0 が付いているものとして扱われます。たとえば、0x0a0xaaa は、0x0a0x0aaa として解釈されます。

数値のコンテキストでは、16 進値は整数 (64 ビット精度) のように機能します。文字列のコンテキストでは、16 進値はバイナリ文字列のように機能します。この場合、16 進数の各ペアが 1 文字に変換されます。

mysql> SELECT X'4D7953514C';
        -> 'MySQL'
mysql> SELECT 0x0a+0;
        -> 10
mysql> SELECT 0x5061756c;
        -> 'Paul'

16 進値のデフォルトのデータ型は文字列です。この値が数値として扱われるようにしたい場合は、CAST(... AS UNSIGNED) を使用できます。

mysql> SELECT 0x41, CAST(0x41 AS UNSIGNED);
        -> 'A', 65

X'hexstring' 構文は標準 SQL に基づいています。0x 構文は ODBC に基づいています。16 進文字列は、BLOB カラムの値を提供するために、ODBC によって使用されることがよくあります。

文字列または数値を 16 進形式の文字列に変換するには、HEX() 関数を使用できます。

mysql> SELECT HEX('cat');
        -> '636174'
mysql> SELECT 0x636174;
        -> 'cat'

User Comments
User comments in this section are, as the name implies, provided by MySQL users. The MySQL documentation team is not responsible for, nor do they endorse, any of the information provided here.
Sign Up Login You must be logged in to post a comment.