MySQL UUID_TO_BIN() 函数使用指南
MySQL UUID_TO_BIN() 函数将一个指定的字符串的 UUID 转为一个二进制 UUID 并返回结果。
UUID_TO_BIN() 函数是 BIN_TO_UUID() 函数的逆行操作。
UUID_TO_BIN() 语法
这里是 MySQL UUID_TO_BIN() 函数的语法:
UUID_TO_BIN(string_uuid, swap_flag)
参数
string_uuid- 必需的。 一个二进制的 UUID。
swap_flag- 可选的。 交换标识,可用只为
0和1。默认值是0。
返回值
MySQL UUID_TO_BIN() 函数将一个指定的字符串的 UUID 转为一个二进制 UUID 并返回结果。
如果参数 swap_flag 是 1,UUID_TO_BIN() 函数将交换 UUID 中的时间低位部分和时间高位部分。
如果参数 string_uuid 为 NULL,该函数将返回 NULL。
如果任意一个参数不合法,将会产生一个错误。
UUID_TO_BIN() 示例
本示例展示了 UUID_TO_BIN() 函数的基本用法。
首先,让我们创建一个字符串 UUID,如下:
set @string_uuid = 'b45f7406-cf63-11ec-aeab-0242ac110003';
然后,让我们将上面创建的二进制 UUID 转为二进制 UUID:
SELECT UUID_TO_BIN(@string_uuid);
+---------------------------+
| UUID_TO_BIN(@string_uuid) |
+---------------------------+
| �_t�c쮫B� |
+---------------------------+这里,二进制的数据在命令行中并不是可读的。我们可以使用 HEX() 函数将它转为十六进制字符串:
SELECT HEX(UUID_TO_BIN(@string_uuid));
+----------------------------------+
| HEX(UUID_TO_BIN(@string_uuid)) |
+----------------------------------+
| B45F7406CF6311ECAEAB0242AC110003 |
+----------------------------------+当然,我们也可以使用 BIN_TO_UUID() 函数:
SELECT BIN_TO_UUID(UUID_TO_BIN(@string_uuid));
+----------------------------------------+
| BIN_TO_UUID(UUID_TO_BIN(@string_uuid)) |
+----------------------------------------+
| b45f7406-cf63-11ec-aeab-0242ac110003 |
+----------------------------------------+让我们使用使用 swap_flag = 1 参数将 UUID 中时间低位部分和时间高位部分交换:
SELECT HEX(UUID_TO_BIN(@string_uuid, 1));
+-----------------------------------+
| HEX(UUID_TO_BIN(@string_uuid, 1)) |
+-----------------------------------+
| 11ECCF63B45F7406AEAB0242AC110003 |
+-----------------------------------+这里, B45F7406 和 11EC 交换了位置。