実際には、HEX() 関数は 10 進値または文字列値を 16 進値に変換します。変換後、MySQL は 16 進値の文字列表現を返します。
HEX(Num or Str)
HEX() 関数は数値または文字列を変換できることがわかっているため、構文内の「Num」は 16 進数に変換される数値を意味し、「Str」は 16 進数に変換される数値を意味します。 16 進数に変換される数値。文字列数値を 2 つの 16 進数文字に変換します。
mysql> Select HEX(210); +----------+ | HEX(210) | +----------+ | D2 | +----------+ 1 row in set (0.00 sec)
上の例では、210 は 10 進数であり、16 進数の文字列表現に変換され、BIGINT 数値として扱われます。
mysql> SELECT HEX('NULL'); +-------------+ | HEX('NULL') | +-------------+ | 4E554C4C | +-------------+ 1 row in set (0.00 sec)
上の例では、「NULL」は文字が 2 桁の 16 進数に変換される文字列です (1 文字あたり 2 桁の 16 進数)。
基本的に、MySQL HEX() 関数は CONV(N,10,16) と同等ですが、基本的な違いは、HEX() は文字列文字を 2 つの 16 進数に変換できますが、CONV() は 0 を返すことです。文字列文字を 16 進文字列に変換しようとしたとき。次の例は、次のことを示しています -
mysql> Select HEX('N'); +----------+ | HEX('N') | +----------+ | 4E | +----------+ 1 row in set (0.00 sec) mysql> Select CONV('N',10,16); +-----------------+ | CONV('N',10,16) | +-----------------+ | 0 | +-----------------+ 1 row in set (0.00 sec)
以上がMySQL HEX() 関数とは何ですか?また CONV() 関数との違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。