DB表中多个列的Presto MD5哈希



我面临的挑战使我在经过两个小时的反复试验后发疯...

我需要与Presto至少进行关系表的至少两列(实际上是使用Presto Engine的Amazon Athena(。

我目前的状态是:

SELECT concat(lower(to_hex(md5(to_utf8(trim(column1))))),
              lower(to_hex(md5(to_utf8(trim(column2)))))) AS HK
FROM table
limit 10

与此问题的问题是,它首先放映了列,然后将它们连接到最终看起来像这样的东西,因为它会串联哈希。

8f9bfe9d1345237cb3b2b205864da075ce8ae9da5b7cd6c3df2929543a9af92d

而不是首先串联字符串,然后将其升级到应该这样的最终结果:

8f9bfe9d1345237cb3b2b205864da075

我非常感谢如何解决这个问题。

编辑:

我得到了一个解决方案,但是只有不使用trim((函数,该查询不起作用,并且导致错误消息

invalid_function_argument:必须有两个或多个串联参数

当前查询:

SELECT lower(to_hex(md5(to_utf8(concat(user, email))))) AS UserMailHK FROM table limit 10

对此有什么想法吗?

我得益于Piotr!

SELECT lower(to_hex(md5(to_utf8(concat(trim(user), trim(email)))))) AS UserMailHK FROM table limit 10 

相关内容

  • 没有找到相关文章

最新更新