跳到主要内容

BIN_TO_UUID

声明

BIN_TO_UUID(binary_uuid), BIN_TO_UUID(binary_uuid,swap_flag)

说明

BIN_TO_UUID() 将二进制 UUID 转换为字符串 UUID 并返回该结果。二进制值 binary_uuid 应该数据类型为 VARBINARY(16) 的 UUID。返回值符合 UUID 版本 1 的值,该值是一个 128 位数字,是由破折号分隔的五个十六进制数组成的 utf8mb3 字符串。格式与 UUID() 函数相同,为 aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeeeee 格式,说明如下:

  • 前三个数字是从时间戳的低、中和高部分生成的。高位部分还包括 UUID 版本号。
  • 第四个数字保留时间唯一性,以防时间戳值失去单一性(例如,夏令时的影响)。
  • 第五个数字是提供空间唯一性的 IEEE 802 节点号。如果不可用,则用一个随机数代替,但无法保证空间唯一性。

如果 UUID 参数为 NULL,则返回值为 NULL。如果某一何参数无效,则会发生错误。

BIN_TO_UUID() 的语法包括单参数和双参数两种形式,说明如下:

  • 单参数形式指定二进制 UUID 值。UUID 值被假定为不会交换其时间低和时间高的部分。返回的字符串结果与二进制参数的顺序相同。
  • 双参数形式指定二进制 UUID 值和 swap-flag 值:
    • 如果 swap_flag 为 0,则双参数形式等同于单参数形式。字符串结果与二进制参数的顺序相同。
    • 如果 swap_flag 为 1,则假定 UUID 值已交换其时间低和时间高部分。这些部分被交换回它们在结果值中的原始位置。

BIN_TO_UUID()UUID_TO_BIN() 的逆函数。有关其使用示例和时间部分交换规则的信息,请参见 UUID_TO_BIN()