跳到主要内容

UUID_TO_INT

描述

UUID_TO_INT 函数用于将 UUID 字符串转换为 INT128 整数表示。这对于需要在数据库中以整数形式存储 UUID 的场景非常有用。

语法

UUID_TO_INT(<uuid>)

参数

参数说明
<uuid>需要转换的 UUID 字符串。类型:VARCHAR

返回值

返回 INT128 类型,为 UUID 的整数表示。

特殊情况:

  • 如果参数为 NULL,返回 NULL
  • 如果 UUID 格式无效,返回 NULL

示例

  1. 基本用法:UUID 转整数
SELECT uuid_to_int('6ce4766f-6783-4b30-b357-bba1c7600348');
+-----------------------------------------------------+
| uuid_to_int('6ce4766f-6783-4b30-b357-bba1c7600348') |
+-----------------------------------------------------+
| 95721955514869408091759290071393952876 |
+-----------------------------------------------------+
  1. NULL 值处理
SELECT uuid_to_int(NULL);
+-------------------+
| uuid_to_int(NULL) |
+-------------------+
| NULL |
+-------------------+
  1. 配合 UUID() 使用
SELECT uuid_to_int(UUID());
+----------------------------------------+
| uuid_to_int(UUID()) |
+----------------------------------------+
| 65543688548341017423158579845706592446 |
+----------------------------------------+
  1. 批量转换
SELECT uuid, uuid_to_int(uuid) AS uuid_int
FROM (SELECT '6ce4766f-6783-4b30-b357-bba1c7600348' AS uuid) t;
+--------------------------------------+--------------------------------------+
| uuid | uuid_int |
+--------------------------------------+--------------------------------------+
| 6ce4766f-6783-4b30-b357-bba1c7600348 | 95721955514869408091759290071393952876|
+--------------------------------------+--------------------------------------+
  1. 大写 UUID 转换
SELECT uuid_to_int('6CE4766F-6783-4B30-B357-BBA1C7600348');
+-----------------------------------------------------+
| uuid_to_int('6CE4766F-6783-4B30-B357-BBA1C7600348') |
+-----------------------------------------------------+
| 95721955514869408091759290071393952876 |
+-----------------------------------------------------+
  1. 错误格式的 UUID
SELECT uuid_to_int('invalid-uuid-format');
+------------------------------------+
| uuid_to_int('invalid-uuid-format') |
+------------------------------------+
| NULL |
+------------------------------------+