python等效TSQL格式(哈希)

2024-04-26 06:11:10 发布

您现在位置:Python中文网/ 问答频道 /正文

如何在python中对以下内容进行散列(不可能更改sql部分,只是为了模仿python中的行为):

SELECT HASHBYTES('SHA2_256', FORMAT(1234, ''))
output: 0x4F37C061F1854F9682F543FECB5EE9D652C803235970202DE97C6E40C8361766

这与:

SELECT HASHBYTES('SHA2_256','1234')
SELECT HASHBYTES('SHA2_256',CAST(1234 as VARCHAR(100)))
output: 0x03AC674216F3E15C761EE1A5E255F067953623C8B388B4459E13F978D7C846F4

如何在python中实现第一次输出?目前:

from hashlib import sha256

sha256('1234'.encode()).hexdigest().upper()
output: 03AC674216F3E15C761EE1A5E255F067953623C8B388B4459E13F978D7C846F4

Tags: fromimportformatoutputsqlasselectencode
1条回答
网友
1楼 · 发布于 2024-04-26 06:11:10

Format( 1234, '' )的结果是NVarChar

select sql_variant_property(FORMAT(1234, ''), 'basetype');

您可以cast输入值以获得所需的结果:

SELECT HASHBYTES('SHA2_256',CAST(FORMAT(1234, '') as VARCHAR(100)));

相关问题 更多 >

    热门问题