SQL Oracle standard_hash 函数的服务器等效项

SQL Server equivalent of Oracle standard_hash function

我正在将一个数据库从 Oracle 移动到 SQL 服务器,但我不知道如何在 SQL 服务器中创建它:

"MY_HASH" RAW(32) GENERATED ALWAYS AS (STANDARD_HASH("SSN"||'|'||TO_CHAR("DATE_OF_BIRTH",'DD-MON-RR'),'SHA256')) VIRTUAL ,

感谢您的帮助。

似乎在 SQL 服务器中你会使用 hashbytes function passing option 'SHA2_256' to generate the same value as Oracle's standard_hash 和 'SHA256':

SQL 服务器 2019 (DBFiddle):

select hashbytes('SHA2_256','Text')

甲骨文 18c(DBFiddle):

select standard_hash('Text', 'SHA256') from dual;

两者都return

0x71988C4D8E0803BA4519F0B2864C1331C14A1890BF8694E251379177BFEDB5C3

这是Oracle中的raw(32)值和SQL服务器中的binary(32)(我认为),而不是字符串,因此可能会根据客户端工具的不同显示不同。