暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在 MySQL 中创建 ColdFusion UUID

原创 刺史武都 2022-08-18
452

MySQL 中的uuid()函数返回一个 36 字符的十六进制字符串,格式为:

aa479ea9-1d9d-11ed-ba03-564760fe47b7

ColdFusion 的createUUID()函数返回一个 35 个字符的十六进制字符串,格式如下:

AA479EA9-1D9D-11ED-BA03564760FE47B7

两者都存储相同数量的数据(16 字节),唯一的区别是 MySQL uuid() 函数结果中有一个额外的破折号。

这是我想出的一些 SQL,用于在原始 SQL 中使用 ColdFusion 的格式创建 UUID:

SELECT upper(concat(left(uuid(), 23), right(uuid(), 12)))

这不是一个理想的解决方案,因为我实际上调用uuid()了两次,但对于我的用例来说已经足够了。如果您想尝试优化它,您可能可以使用正则表达式来删除额外的破折号并避免调用 uuid 两次。如果您能想出更好的方法,请随时发表评论。

现在假设您想将 CFML uuid 转换回 MySQL uuid,您可以这样做:

SELECT lower(concat(left(some_id, 23), '-', right(some_id, 12))) FROM table

原文标题:Creating a ColdFusion UUID in MySQL
原文作者: Pete Freitag
原文地址:https://www.petefreitag.com/item/993.cfm

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论