我正在使用列模式来捕获空值。我的逻辑很简单。
匹配条件
type=='decimal'
列名称表达式
$$
值(value)表达
coalesce($$,toDecimal(0,38,18))
我无法让它工作,它只是将 NULL 值保留在原处。但是我可以使用表达式
type!='string' && type!='date'
这确实会将具有 NULL 值的列的值更改为 0。在我当前的情况下,这很好,我有字符串、日期和小数,但我可以看到这并不理想,因为我可能有整数、 double 或其他类型我不希望将这些转换为小数,并且 && 语句的列表变得很长。
任何人都可以提供我应该如何指定十进制类型的详细信息,或者如果没有的话,可以提供更好的解决方法吗?如果有任何好的引用文献的链接也会有所帮助,official文档不是特别具体。
最佳答案
试试这个 - 小数有精度和小数位数
startsWith(类型, '十进制')
关于azure-synapse - 映射数据流列模式类型 = ='decimal' 不更改十进制列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67621965/