ホームページ  >  記事  >  データベース  >  MySQL で 16 進数を使用しますか?

MySQL で 16 進数を使用しますか?

PHPz
PHPz転載
2023-09-13 18:45:021123ブラウズ

在 MySQL 中使用十六进制数字?

16 進数を使用するには、CONV() 関数を使用して基数間を変換します。構文は次のとおりです。 -

SET anyVariableName = CONV(yourHexValue,16,10);

上記の構文を理解するために、ストアド プロシージャを作成してみましょう。ストアド プロシージャを作成するクエリは次のとおりです。 -

mysql> DELIMITER //
mysql> CREATE PROCEDURE SP_HEX_TO_DEC( HEXVALUE VARCHAR(10) )
   -> BEGIN
   -> DECLARE Decimalvalue INTEGER;
   -> SET Decimalvalue = CONV(HEXVALUE,16,10);
   -> select Decimalvalue;
   -> END;
   -> //
Query OK, 0 rows affected (0.19 sec)
mysql> DELIMITER ;

上記のストアド プロシージャは、16 進数を 10 進数に変換します。 A が 10 進数で 10 を表すことがわかっているので、A をパラメータとして渡します。ストアド プロシージャを呼び出すには、CALL コマンドを使用します。

構文は次のとおりです -

CALL yourStoredProcedureName;

CALL コマンドを使用して、上記のストアド プロシージャを呼び出します。クエリは次のとおりです。 -

mysql> call SP_HEX_TO_DEC('A');

以下は、上記で作成したストアド プロシージャを使用して計算された 10 進数値を示す出力です。 -

+--------------+
| Decimalvalue |
+--------------+
| 10           |
+--------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.01 sec)

select ステートメントで直接確認してください。

mysql> select conv('AB',16,10) as DecimalResult;

次は出力です -

+---------------+
| DecimalResult |
+---------------+
| 171           |
+---------------+
1 row in set (0.00 sec)

次に、16 進数を 10 進数に変換するプロセスを見てみましょう。このルールを覚えておいてください -

A and B represented as 10 and 11 respectively in hexadecimal.
To convert it into decimal rule is as follows:
N ………+value3 *162 +value2 *161 + value1 * 160
= 10 * 161 + 11 * 160
= 160+11
= 171.

以上がMySQL で 16 進数を使用しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。