azure-synapse - 映射数据流列模式类型 = ='decimal' 不更改十进制列

标签 azure-synapse azure-data-factory

我正在使用列模式来捕获空值。我的逻辑很简单。

匹配条件

type=='decimal'

列名称表达式

$$

值(value)表达

coalesce($$,toDecimal(0,38,18))

我无法让它工作,它只是将 NULL 值保留在原处。但是我可以使用表达式

type!='string' && type!='date'

这确实会将具有 NULL 值的列的值更改为 0。在我当前的情况下,这很好,我有字符串、日期和小数,但我可以看到这并不理想,因为我可能有整数、 double 或其他类型我不希望将这些转换为小数,并且 && 语句的列表变得很长。

任何人都可以提供我应该如何指定十进制类型的详细信息,或者如果没有的话,可以提供更好的解决方法吗?如果有任何好的引用文献的链接也会有所帮助,official文档不是特别具体。

要确认我正在使用十进制值: showing decimals

最佳答案

试试这个 - 小数有精度和小数位数

startsWith(类型, '十进制')

关于azure-synapse - 映射数据流列模式类型 = ='decimal' 不更改十进制列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67621965/

相关文章:

sql - Synapse Serverless SQL 中的大型表的 CETAS 超时

azure-synapse - Azure SQL 数据仓库中的列级加密

identity-column - Azure SQL DW - 标识列值

azure - 使用数据工厂将表从 SAP BW 提取到 Azure Data Lake Gen2

azure - 从数据工厂 v2 中的 Azure 数据存储中筛选数据

azure - 是否可以在 Spark 代码中获取 Azure AD 用户和组?

azure-synapse - 无法将 Python Wheel 包安装到 Azure Synapse Apache Spark 池

azure - Datafactory 映射数据流无法将日期时间格式化为 yyyy/MM/dd

azure - 通过数据工厂使用逻辑应用程序的动态电子邮件附件

sql-server - Azure ADF V2 - 完成时的事件