如果在的Unicode這樣的結果:(注意ñ)校驗和函數依賴於Unicode嗎?
select CHECKSUM(N'2Volvo Director 20') ---341465450
select CHECKSUM(N'3Volvo Director 30') ---341453853
select CHECKSUM(N'4Volvo Director 40') ---341455363
但如果經常:
select CHECKSUM('2Volvo Director 20') ---1757834048
select CHECKSUM('3Volvo Director 30') ---1757834048
select CHECKSUM('4Volvo Director 40') ---1757834048
能否請您解釋我爲什麼在第一種情況下 - 它給了我不同的感覺,第二件事給我帶來了不一樣的感覺?
有一個關於它的頭版文章說,其中:
但是校驗和()函數計算的類型以及兩個字符串比較,如果它們相等,則僅返回相同的值。
BTW:我得到'-341465450','-341453853','-341455363'爲了你最後的三他們雖然在過去的2看起來非常相似的所有不同。所以不確定整理或版本在這裏扮演什麼角色。 –
也許你有unicode安裝的實例? –
順便說一句:我不知道你的報價是從哪裏來的,但只有**部分是不正確的。它是非常有據可查的[多值可以散列值](http://msdn.microsoft.com/en-us/library/ms189788.aspx) –