Azure 数据工厂 - 生成自定义 Guid 并复制到 SQL 表

问题描述 投票:0回答:2

我需要为表中的每一行生成一个唯一的 Guid,其中仅包含数字且长度为 20。

目前,我正在运行一项查找活动(名称 -

FetchIDs
)来运行存储过程。查找活动的输出如下所示

 {
   “count”: 2,
   “value”: [
      {
        “name”: “Test”,
        “ID”: 12345,
        “City”: “City A”,
        “State”: “State A”
      },
      {
        “name”: “Test2”,
        “ID”: 23456,
        “City”: “City B”,
        “State”: “State B”
      }
    ]
 }

上面的查找输出可能有 N 行。我需要添加一个逻辑来为上述字段中的每一行创建一个唯一的自定义 Guid,然后将其复制到另一个 SQL 表(名为 -

OutputTable

我尝试使用内置 guid(‘N’)来生成唯一的 GUID。然而;它是字母数字的。我想为每行创建一个长度为 20 的唯一数字 GuID,然后将其复制到 SQL 表。

尝试了几种选择。但是,一直没能想出解决的办法。

azure azure-data-factory
2个回答
0
投票

由于您的要求仅生成数字代码,因此您不能在数据流中使用 uuid() 函数;您可以在映射数据流中使用随机函数。但它会生成 16 长度的数字字符,因此您可以连接 2 个随机数字来创建 20 长度的变体。

您也可以直接在 SQL 数据库本身中使用 rand 函数作为默认列值


0
投票

我需要为表中的每一行生成一个唯一的 Guid,其中仅包含数字且长度为 20。

内置 GUID 将为您提供字母数字 ID,没有正确的方法来生成特定长度的整数值。

您可以尝试的解决方法是您可以连接两个

rand()
函数输出,每个函数输出 1,000,000,000 到 9,999,999,999 之间的 10 位数字,以生成 20 位长度值(它将为您提供字符串类型的数值)。

@Concat(string(rand(1000000000,9999999999)),string(rand(1000000000,9999999999)))

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.