我无法访问Sybase的实例,但我会尝试猜测这种差异的主要原因是
data type
第二个论点
HASHBYTES
功能是:
[1]适用于SQL Server的版本
HASHBYTES
@input指定包含要散列的数据的变量。 @input
是varchar,nvarchar或varbinary。
和[2]用于Sybase的s版本
HASHBYTES
expression [,expression …]是要散列的值。这个值可以
是列名,变量,常量表达式或其组合
这些产生单一价值。它不能是图像,文本,unitext,
或行外Java数据类型。
最重要的是,为了在两个DBMS服务器上获得相同的结果,我将源值转换为相同的数据类型(例如[n] varchar(4000))。
`SELECT HASHBYTES(‘sha1’, CONVERT(VARCHAR(12), 10)).
</code>
只有HASBYTES.SQL2016 +有支持
max
数据类型。
SQL Server:在内部,varbinary(8000)和varbinary(max)是diff。数据类型