📜  MySQL 中的 HEX()函数

📅  最后修改于: 2022-05-13 01:55:18.272000             🧑  作者: Mango

MySQL 中的 HEX()函数

十六进制():

MySQL 中的此函数用于返回字符串或数字输入的等效十六进制字符串值。如果输入是字符串,则字符串中每个字符的每个字节都将转换为两个十六进制数字。此函数还返回被视为 longlong (BIGINT) 数字的数字参数 N 的十六进制字符串表示形式。

句法 :

HEX(string)
OR
HEX(N)

范围 :

该方法只接受一个参数。

  • 字符串 –每个字符的输入字符串将被转换为两个十六进制数字。
  • N –要转换为十六进制的输入数字。

回报:

它返回字符串或数字输入的等效十六进制字符串表示形式。

示例-1:

使用 HEX函数的十进制数 0 的十六进制表示如下。

SELECT HEX(0) AS Hex_number ;

输出 :

HEX_NUMBER
0

示例 2 :

使用 HEX函数的十进制数 2020 的十六进制表示如下。

SELECT HEX( 2020 ) AS Hex_number ;

输出 :

HEX_NUMBER
7E4

示例-3:

使用十六进制函数的字符串'geeksforgeeks' 的十六进制表示如下。

SELECT HEX( 'geeksforgeeks') AS Hex_string ;

输出 :

HEX_STRING
 6765656B73666F726765656B73

示例 4:

使用 HEX函数查找列中所有十进制数的十六进制表示,如下所示。

创建玩家表:

CREATE TABLE Player(

Player_id INT AUTO_INCREMENT,  
Player_name VARCHAR(100) NOT NULL,
Playing_team VARCHAR(20) NOT NULL,
Highest_Run_Scored INT NOT NULL,
PRIMARY KEY(Player_id )

);

插入数据到表中:

INSERT INTO  
Player(Player_name, Playing_team, Highest_Run_Scored)
VALUES
('Virat Kohli', 'RCB', 60 ),
('Rohit Sharma', 'MI', 45),
('Dinesh Karthik', 'KKR', 26 ),
('Shreyash Iyer', 'DC', 40 ),
('David Warner', 'SRH', 65),
('Steve Smith', 'RR', 52 ),
('Andre Russell', 'KKR', 70),
('Jasprit Bumrah', 'MI', 10),
('Risabh Panth', 'DC', 34 ) ;

要验证使用以下命令,如下所示。

SELECT * FROM Player;

输出 :

PLAYER_IDPLAYER_NAMEPLAYING_TEAMHIGHEST_RUN_SCORED
1Virat KohliRCB60
2Rohit SharmaMI45
3Dinesh KarthikKKR26
4Shreyash IyerDC40
5David WarnerSRH65
6Steve SmithRR52
7Andre RussellKKR70
8Jasprit BumrahMI10
9Risabh PanthDC34

现在,我们将使用 HEX函数以十六进制形式找到每个玩家得分的最高分。

SELECT  
Player_id, Player_name,
Playing_team, HEX(HIGHEST_RUN_SCORED) AS HighestRunInHexaDecimal
FROM Player ;

输出 :

PLAYER_IDPLAYER_NAMEPLAYING_TEAMHighestRunInHexaDecimal
1Virat KohliRCB3C
2Rohit SharmaMI2D
3Dinesh KarthikKKR1A
4Shreyash IyerDC28
5David WarnerSRH41
6Steve SmithRR34
7Andre RussellKKR46
8Jasprit BumrahMIA
9Risabh PanthDC22