如何解决如何在Postgres中替换Oracle的ORA_HASH函数?
如何在 Postgres 中替换Oracle的 ORA_HASH 功能?我希望实现已写入Oracle的Batch和merge逻辑,同样希望实现到Postgres。
SELECT disTINCT ACCNT_TYPE,ACCNT_SUB_TYPE,ACCNT_FROM_VAL,ACCNT_TO_VAL AS T_ACCNT_TO_VAL,ORA_HASH("NAME"||TO_CHAR(LIFECYCLE_DATE,'DD-MM-YYYY HH24:MI:SS')||LEGACY_ICA_TYPE||TO_CHAR(PURGE_DATE,'DD-MM-YYYY HH24:MI:SS')
||HUB_STATE_IND||LIFECYCLE_STATUS_CD||VAT_ID||LICENSED_SW||PRIMARY_ICA||TOKEN_ACCT_SRV_DESC) AS HASH_VAL
FROM C_ACCNT
ORA_HASH中提到的所有字段用于评估是否应该执行INSERT。UPSERT应该通过考虑所有这些字段来完成。
几乎相同的查询,但表名称在进行左外部联接时有所不同。同样,如果哈希值不同,则将其用于UPSERT。
为什么这个查询总是给我空响应?
select md5(p.src_id || p.type || p.accountName)
FROM ACCOUNT p;
如果类型值为NULL,则DB为md5,结果为NULL。不好。
解决方法
如果您只需要一个字符串的哈希函数,请使用PostgreSQL内置的hashtext
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。