首页 > 解决方案 > 内置函数的连接问题

问题描述

有人可以解释一下为什么它只返回两条记录而不是三条记录吗?当我对分隔符进行硬编码以及使用内置 SQL 函数时,我想要相同的结果。

SELECT 'HASH(IFNULL(COST_CENTER, '''') || IFNULL(MATCH_DATE, ''''))::bigint'
UNION 
SELECT CONCAT('HASH(', CONCAT_WS(' || ', 'IFNULL(COST_CENTER, '''')', 'IFNULL(MATCH_DATE, '''')' ), ')::bigint')
UNION 
SELECT CONCAT('HASH(', CONCAT_WS('||', ' IFNULL(COST_CENTER, '''') ', ' IFNULL(MATCH_DATE, '''') ' ), ')::bigint')
;

标签: snowflake-cloud-data-platformsnowflake-schemasnowflake-task

解决方案


您的前 2 行是相同的,因此当您使用 UNION 时,它会将它们重复数据删除为一条记录。如果您想要所有三行,请使用 aUNION ALL代替。


推荐阅读