gpt4 book ai didi

sql-server - 如何以特定格式创建唯一的序列号字符串?

转载 作者:行者123 更新时间:2023-12-03 16:46:49 24 4
gpt4 key购买 nike

我想用一些序列号填充我的 SQL Server 表以提供给其他人。它们实际上只是与人们的电子邮件地址相关的 UUID。

我可以看到 ColdFusion 提供了 CreateUUID 函数,但它生成的 ID 格式为:

xxxxxxxx-xxxx-xxxx-xxxxxxxxxxxxxxxx

遵循 8-4-4-16 结构。我只想要一些简单的格式,例如 3-3-3 格式,该格式对于表中的每一行(即每个客户)都是唯一的。

解决这个问题的最佳方法是什么?我不介意在 SQL 或 ColdFusion 中执行此操作,但我不确定如何让它们中的任何一个为我自动生成这样的字符串。 SQL Server 有 NEWID() 函数,但它再次生成不符合我想要的格式的大字符串。

是否有某种方法可以强制 SQL 的 NewID() 或 CF 的 CreateUUID 创建具有 3-3-3 格式的唯一序列?

最佳答案

序列号应该是唯一的。确保您的电子邮件地址具有唯一序列号的一种方法是设置 IDENTITY 列的格式。如果您的电子邮件表还没有 IDENTITY 列,请添加一列。假设它被命名为 Email_ID,那么以下表达式将为您提供一个 XXX-XXX-XXX 形式的字符串,保证该字符串对于电子邮件表是唯一的。

SELECT
STUFF(STUFF(RIGHT('000000000' + CAST(Email_ID AS VARCHAR(9)), 9), 4, 0, '-'), 8, 0, '-')
FROM
EmailTable

关于sql-server - 如何以特定格式创建唯一的序列号字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34887472/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com