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_ID PLAYER_NAME PLAYING_TEAM HIGHEST_RUN_SCORED 1 Virat Kohli RCB 60 2 Rohit Sharma MI 45 3 Dinesh Karthik KKR 26 4 Shreyash Iyer DC 40 5 David Warner SRH 65 6 Steve Smith RR 52 7 Andre Russell KKR 70 8 Jasprit Bumrah MI 10 9 Risabh Panth DC 34
现在,我们将使用 HEX函数以十六进制形式找到每个玩家得分的最高分。
SELECT
Player_id, Player_name,
Playing_team, HEX(HIGHEST_RUN_SCORED) AS HighestRunInHexaDecimal
FROM Player ;
输出 :PLAYER_ID PLAYER_NAME PLAYING_TEAM HighestRunInHexaDecimal 1 Virat Kohli RCB 3C 2 Rohit Sharma MI 2D 3 Dinesh Karthik KKR 1A 4 Shreyash Iyer DC 28 5 David Warner SRH 41 6 Steve Smith RR 34 7 Andre Russell KKR 46 8 Jasprit Bumrah MI A 9 Risabh Panth DC 22