Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save ludwig/078b934a16bec911f7ca8795bb6c39c3 to your computer and use it in GitHub Desktop.
Save ludwig/078b934a16bec911f7ca8795bb6c39c3 to your computer and use it in GitHub Desktop.
MySQL functions to convert between binary and string uuids
DELIMITER |
CREATE FUNCTION uuid_from_bin(b BINARY(16))
RETURNS CHAR(36) DETERMINISTIC
BEGIN
DECLARE hex CHAR(32);
SET hex = HEX(b);
RETURN CONCAT(LEFT(hex, 8), '-', MID(hex, 9,4), '-', MID(hex, 13,4), '-', MID(hex, 17,4), '-', RIGHT(hex, 12));
END
|
CREATE FUNCTION uuid_to_bin(s CHAR(36))
RETURNS BINARY(16) DETERMINISTIC
RETURN UNHEX(CONCAT(LEFT(s, 8), MID(s, 10, 4), MID(s, 15, 4), MID(s, 20, 4), RIGHT(s, 12)))
|
DELIMITER ;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment