MySQL HEX()

Anonymous contributor's avatar
Anonymous contributor
Published Sep 9, 2024

The HEX() function in MySQL takes an input and returns its equivalent hexadecimal representation. This input can be either a string or a numeric value.

When the input is a string, the resulting hexadecimal representation will, by default, be a binary string. In the output, each byte of each character in the original string argument is represented by a corresponding pair of hexadecimal digits. The resulting hexadecimal string can also be converted back into the original string by using the UNHEX() function.

When the input is a decimal number, HEX(N) and CONV(N, 10, 16) produce the same hexadecimal output. The hexadecimal result from HEX(N) can be converted back to the original number using CONV(HEX(N), 16, 10).

  • Learn to analyze data with SQL and prepare for technical interviews.
    • Includes 9 Courses
    • With Certificate
    • Beginner Friendly.
      18 hours
  • In this SQL course, you'll learn how to manage large datasets and analyze real data using the standard data management language.
    • Beginner Friendly.
      5 hours

Syntax

HEX(val);
  • val: The value to be represented as a hexadecimal string.

Examples

The following example uses the HEX() function to convert the codecademy string to hexadecimal:

SELECT HEX('codecademy');

The result looks like this:

HEX(‘codecademy’)
636F6465636164656D79

The next example passes a numeric value instead of a string to the function:

SELECT HEX(123456789);

The resulting output is the following:

HEX(123456789)
75BCD15

Below is a more detailed example, where the HEX() function is used with a column in a table:

-- Create a table named 'employees'
CREATE TABLE employees (
last_name VARCHAR(50),
employee_id INT
);
-- Insert data
INSERT INTO employees (last_name, employee_id) VALUES
('Smith', 40388),
('Jones', 80666),
('Brown', 64695),
('Miller', 23088),
('Williams', 15312);
-- Verify that the data is inserted correctly
SELECT * FROM employees;

The resulting table looks like this:

last_name employee_id
Smith 40388
Jones 80666
Brown 64695
Miller 23088
Williams 15312

Now, the HEX() function is used to retrieve the data in the last_name column as hexadecimal strings:

SELECT last_name, HEX(last_name) FROM employees;

Here is the expected output:

last_name HEX(last_name)
Smith 536D697468
Jones 4A6F6E6573
Brown 42726F776E
Miller 4D696C6C6572
Williams 57696C6C69616D73

All contributors

Learn MySQL on Codecademy

  • Learn to analyze data with SQL and prepare for technical interviews.
    • Includes 9 Courses
    • With Certificate
    • Beginner Friendly.
      18 hours
  • In this SQL course, you'll learn how to manage large datasets and analyze real data using the standard data management language.
    • Beginner Friendly.
      5 hours