DECLARE @IDNO NVARCHAR(50)
SELECT @IDNO='19270094'
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),3,32) --32位
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', '19270094')),3,32) --32位
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),11,16) --16位
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', '19270094')),11,16) --16位
这有什么区别??
------解决方案--------------------
你试试这样:
DECLARE @IDNO nvarchar(50)
set @IDNO='19270094'
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5', @IDNO)),3,32) --32位
SELECT smd5 = SUBSTRING(sys.fn_VarBinToHexStr(hashbytes('MD5',convert(nvarchar,'19270094'))),3,32) --32位
原因还在分析