Sql server 哈希值不匹配

Sql server 哈希值不匹配,sql-server,hash,md5,sqldatatypes,hashbytes,Sql Server,Hash,Md5,Sqldatatypes,Hashbytes,我对相同的值进行散列,但得到的结果不同 下面是一个简单的例子来解释我遇到的问题: 我有一个如下所示的维度表: 性别 性别歧视 男性的 1. 女的 0 “Male”是ANSI varchar值,而不是Unicode nvarchar。对于Unicode,您需要N'Male' 例如,我得到以下查询结果: select convert(varchar(20), cast('Male' as varbinary(20)), 1) 0x4D616C65 而这一个,注意在文字前加上N: select co

我对相同的值进行散列,但得到的结果不同

下面是一个简单的例子来解释我遇到的问题:

我有一个如下所示的维度表:

性别 性别歧视 男性的 1. 女的 0 “Male”是ANSI varchar值,而不是Unicode nvarchar。对于Unicode,您需要N'Male'

例如,我得到以下查询结果:

select convert(varchar(20), cast('Male' as varbinary(20)), 1)
0x4D616C65

而这一个,注意在文字前加上N:

select convert(varchar(20), cast(N'Male' as varbinary(20)), 1)
0x4D0061006C006500

'Male'是ANSI varchar值,而不是Unicode nvarchar。对于Unicode,您需要N'Male'

例如,我得到以下查询结果:

select convert(varchar(20), cast('Male' as varbinary(20)), 1)
0x4D616C65

而这一个,注意在文字前加上N:

select convert(varchar(20), cast(N'Male' as varbinary(20)), 1)

0x4D00061006C006500

为什么连性别名称和性别id都连在一起?我只是用它作为一个简单的例子。一般来说,我使用散列来插入或更新行。你有XY问题吗?是的,他问得很好。我也有类似的问题。它试图把一只法国公牛狗的名字和性别id连在一起,我只是用它作为一个简单的例子。一般来说,我使用散列来插入或更新行。你有XY问题吗?是的,他问得很好。我也有类似的问题。它想把一只法国斗牛犬炸成肉酱