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
交换了位置。