为 sap hana 上的 table 列生成哈希列
Generate a hash column for table columns on sap hana
我会尽量简化
我有一个 table TAB1(ID、姓名、姓氏、年龄、出生日期、ID_CARD_NBR、SHA)
我需要为列中的这些列生成散列 SHA
在 SAP Hana 上获取哈希的查询:
SELECT hash_sha256(
to_varbinary("ID"),
to_varbinary(IFNULL("NAME",'0')),
to_varbinary(IFNULL("LASTNAME",'0')),
to_varbinary(IFNULL("AGE",'0')),
to_varbinary(IFNULL("DATEOFBIRTH",'0')),
to_varbinary(IFNULL("ID_CARD_NBR",'0')) )
FROM "MYSCHEMA"."PERSONS"
代码应 insert/update SHA 列
谢谢
如果 Id 是主键(不能为 NULL),您可以这样做:
UPDATE PERSONS
SET SHA = hash_sha256(to_varbinary("ID"),to_varbinary(IFNULL("NAME",'0')),to_varbinary(IFNULL("LASTNAME",'0')),to_varbinary(IFNULL("AGE",'0')),to_varbinary(IFNULL("DATEOFBIRTH",'0')),to_varbinary(IFNULL("ID_CARD_NBR",'0')) )
WHERE SHA IS NULL; -- or other condition
我会尽量简化
我有一个 table TAB1(ID、姓名、姓氏、年龄、出生日期、ID_CARD_NBR、SHA)
我需要为列中的这些列生成散列 SHA
在 SAP Hana 上获取哈希的查询:
SELECT hash_sha256(
to_varbinary("ID"),
to_varbinary(IFNULL("NAME",'0')),
to_varbinary(IFNULL("LASTNAME",'0')),
to_varbinary(IFNULL("AGE",'0')),
to_varbinary(IFNULL("DATEOFBIRTH",'0')),
to_varbinary(IFNULL("ID_CARD_NBR",'0')) )
FROM "MYSCHEMA"."PERSONS"
代码应 insert/update SHA 列
谢谢
如果 Id 是主键(不能为 NULL),您可以这样做:
UPDATE PERSONS
SET SHA = hash_sha256(to_varbinary("ID"),to_varbinary(IFNULL("NAME",'0')),to_varbinary(IFNULL("LASTNAME",'0')),to_varbinary(IFNULL("AGE",'0')),to_varbinary(IFNULL("DATEOFBIRTH",'0')),to_varbinary(IFNULL("ID_CARD_NBR",'0')) )
WHERE SHA IS NULL; -- or other condition