MySQL - HEX() 函数
MySQL HEX() 函数接受十进制数字或字符串值,并返回其十六进制表示形式。MySQL 中的十六进制字面值以 X'val' 或 0xval 符号表示,其中 'val' 表示十六进制数字(0..9,A..F)。
默认情况下,十六进制字面值是一个二进制字符串,其中每对十六进制数字代表一个字符。因此,如果传递给此函数的参数是字符串,则字符串中每个字符的每个字节都会转换为两位十六进制数字。
但如果参数是数值,则其十六进制表示将被视为 BIGINT UNSIGNED。
语法
以下是 MySQL HEX() 函数的语法 -
HEX(val);
参数
此函数接受数字或字符串值作为参数。
返回值
此函数将给定输入的十六进制表示形式返回为字符串。
示例
以下查询使用 MySQL HEX() 函数将十进制值 225 转换为其十六进制表示形式 -
SELECT HEX(225) As Result;
输出
上述查询的输出如下所示 -
Result |
---|
E1 |
示例
以下是此函数的另一个示例,我们将十进制值 215456 转换为其十六进制表示 -
SELECT HEX(215456) As Result;
输出
这将产生以下结果 -
Result |
---|
349A0 |
示例
我们也可以将字符串值传递给此函数 -
SELECT HEX('tutorialspoint') As Result;
输出
输出结果如下:-
Result |
---|
7475746F7269616C73706F696E74 |
示例
在以下查询中,我们尝试将一个整数作为字符串值传递给此函数:-
SELECT HEX('447353') As Result;
输出
这将产生以下结果 -
Result |
---|
343437333533 |
示例
您还可以使用 HEX() 函数将列的值转换为十六进制。为此,让我们使用以下查询创建一个名为 CUSTOMERS 的表 -
CREATE TABLE CUSTOMERS ( ID INT AUTO_INCREMENT, NAME VARCHAR(20) NOT NULL, AGE INT NOT NULL, ADDRESS CHAR (25), SALARY DECIMAL (18, 2), PRIMARY KEY (ID) );
以下查询将 7 条记录添加到上面创建的表中 -
INSERT INTO CUSTOMERS (ID,NAME,AGE,ADDRESS,SALARY) VALUES (1, 'Ramesh', 32, 'Ahmedabad', 2000.00 ), (2, 'Khilan', 25, 'Delhi', 1500.00 ), (3, 'Kaushik', 23, 'Kota', 2000.00 ), (4, 'Chaitali', 25, 'Mumbai', 6500.00 ), (5, 'Hardik', 27, 'Bhopal', 8500.00 ), (6, 'Komal', 22, 'Hyderabad', 4500.00 ), (7, 'Muffy', 24, 'Indore', 10000.00 );
要验证记录是否已插入,请执行以下查询 -
Select * From CUSTOMERS;
以下是 CUSTOMERS 表 -
ID | NAME | AGE | ADDRESS | SALARY |
---|---|---|---|---|
1 | Ramesh | 32 | Ahmedabad | 2000.00 |
2 | Khilan | 25 | Delhi | 1500.00 |
3 | Kaushik | 23 | Kota | 2000.00 |
4 | Chaitali | 25 | Mumbai | 6500.00 |
5 | Hardik | 27 | Bhopal | 8500.00 |
6 | Komal | 22 | Hyderabad | 4500.00 |
7 | Muffy | 24 | Indore | 10000.00 |
以下 MySQL 语句将 SALARY 列的值转换为十六进制 -
Select ID, NAME, ADDRESS, HEX(SALARY) From CUSTOMERS;
上述查询的输出如下所示 -
ID | NAME | ADDRESS | HEX(SALARY) |
---|---|---|---|
1 | Ramesh | Ahmedabad | 7D0 |
2 | Khilan | Delhi | 5DC |
3 | Kaushik | Kota | 7D0 |
4 | Chaitali | Mumbai | 1964 |
5 | Hardik | Bhopal | 2134 |
6 | Komal | Hyderabad | 1194 |
7 | Muffy | Indore | 2710 |