SQL Server 2014 Hashbytes einer nvarchar(max) - Ergebnis ist vom Datentyp nvarchar(max)

Mithilfe von SQL Server 2014 ich habe eine Tabelle, die eine nvarchar(max) Spalte namens [ASCII File] enthalten kann eine ASCII-text Datei von vielen K. ich dann tun wollen MD5-hashbytes auf diese Datei, und der resultierende hash sollte immer 20 bytes.

Gut, wenn ich eine wählen, von hashbytes('MD5', [ASCII File]) ich bekomme Abfrage wurde mit Fehlern abgeschlossen

Msg 8152, Ebene 16, Status 10, Zeile 4

Zeichenfolgen-oder Binärdaten würden abgeschnitten werden.

Bekomme ich die gleiche Meldung, wenn ich versuche

left(hashbytes('MD5', [ASCII File]), 50)

Bekomme ich die gleiche Meldung, wenn ich versuche

convert(varchar(50), hashbytes('MD5', [ASCII File]))

Wie es scheint, da die Spalte mache ich das hashbytes ist nvarchar(max), das Ergebnis der hashbytes Funktion ist auch nvarchar(max).

Können Sie mir sagen, wie kann ich das Ergebnis die erwarteten 20 lange und nicht etwas so lange hat es abgeschnitten?

InformationsquelleAutor John | 2016-07-30
Schreibe einen Kommentar