【问题标题】:Convert String to Int in Azure data factory Derived column expression在 Azure 数据工厂派生列表达式中将字符串转换为 Int
【发布时间】:2021-03-07 21:55:21
【问题描述】:

我在 azure 数据工厂中创建了一个数据流任务,并使用了派生列转换。源派生列值之一是“678396”,默认情况下是通过子字符串函数和数据类型“字符串”提取的。我想将其转换为“整数”,因为我的目标列数据类型是“整数”。

我必须转换此表达式中的列: ToInteger(Substring(Column_1,1,8))

请帮我正确表达。

亲切的问候, 拉克什

【问题讨论】:

  • 嗨@Rakesh Mishra,您还有其他顾虑吗?请随时告诉我。

标签: azure-data-factory azure-data-factory-2


【解决方案1】:

您不需要构建表达式。如果你的列数据都是int string "678396",或者Substring(Column_1,1,8)的输出都是int String

数据工厂可以将 int 字符串直接从源到接收器转换为整数数据类型。我们不需要再次转换。

确保在接收器设置中正确设置列映射。一切都会好起来的。

更新:

这是我的 csv 数据集:

您可以选择Quote character单引号,然后可以解决问题。在 Copy active 和 Data Flow 中查看源数据预览:

复制活动源:

数据流概述:

在数据流中,我们会得到你说的评论的警报,我们可以忽略它并直接调试数据流:

HTH。

【讨论】:

  • 嗨 Leon,我试过了,但在尝试从源映射到接收器时收到此错误:“至少一个传入列映射到接收器数据集架构中的列,类型冲突,这可以导致 NULL 值或运行时错误"
  • 嗨@RakeshMishra,请查看我的更新,您可以直接使用复制活动,将数据集设置更改为单引号。如果您坚持使用数据流,我们可以忽略警报,数据流也可以正常工作。
  • 如果我的回答对你有帮助,希望你能接受它作为答案(点击答案旁边的复选标记,将其从灰色切换为填充。)。这对其他社区成员可能是有益的。如果您有任何其他问题,请随时告诉我。谢谢。
【解决方案2】:

你甚至不需要子结构引号'',因为 ToInteger 函数可以将数字转换为字符串类型

【讨论】:

    猜你喜欢
    • 2023-02-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-31
    • 1970-01-01
    • 1970-01-01
    • 2022-11-18
    • 2016-04-14
    相关资源
    最近更新 更多