[英]python equivalent T-SQL format (hashing)
如何在 python 中的 hash 等效于以下内容(更改 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中实现第一个output? 目前:
from hashlib import sha256
sha256('1234'.encode()).hexdigest().upper()
output: 03AC674216F3E15C761EE1A5E255F067953623C8B388B4459E13F978D7C846F4
Format( 1234, '' )
的结果是NVarChar
:
select sql_variant_property(FORMAT(1234, ''), 'basetype');
您可以cast
该值以获得所需的结果:
SELECT HASHBYTES('SHA2_256',CAST(FORMAT(1234, '') as VARCHAR(100)));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.