Skip to content

Instantly share code, notes, and snippets.

@jamesgmarks
Last active March 12, 2024 19:30
Show Gist options
  • Save jamesgmarks/56502e46e29a9576b0f5afea3a0f595c to your computer and use it in GitHub Desktop.
Save jamesgmarks/56502e46e29a9576b0f5afea3a0f595c to your computer and use it in GitHub Desktop.
MySQL/MariaDB BIN_TO_UUID and UUID_TO_BIN Polyfill
DELIMITER //
CREATE FUNCTION BIN_TO_UUID(b BINARY(16))
RETURNS CHAR(36)
BEGIN
DECLARE hexStr CHAR(32);
SET hexStr = HEX(b);
RETURN LOWER(CONCAT(
SUBSTR(hexStr, 1, 8), '-',
SUBSTR(hexStr, 9, 4), '-',
SUBSTR(hexStr, 13, 4), '-',
SUBSTR(hexStr, 17, 4), '-',
SUBSTR(hexStr, 21)
));
END//
CREATE FUNCTION UUID_TO_BIN(uuid CHAR(36))
RETURNS BINARY(16)
BEGIN
RETURN UNHEX(REPLACE(uuid, '-', ''));
END//
DELIMITER ;
@theking2
Copy link

excellent. I just happened to stumble on your gist first. Hence my two cents.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment