SQL Server 2008, CONVERT Funktion, Konvertierung binärer Daten und Zeichenfolgen
Feb
23
Written by:
23.02.2008
Die CONVERT Funktion wurde für SQL Server 2008 erweitert, man kann binäre Werte in Zeichenfolgen konvertieren, die einen hexadezimalen Wert darstellen und umgekehrt.
Die CONVERT Funktion wurde für SQL Server 2008 erweitert, man kann binäre Werte in Zeichenfolgen konvertieren, die einen hexadezimalen Wert darstellen und umgekehrt.
Convert kennt folgende Styles für binäre Datentypen:
0 = Übersetz ASCII Zeichen in Bytes oder umgekehrt. Jedes Zeichen wird 1:1 konvertiert.
1/2 = Der Ausdruck muss eine gültige Hexadezimalzahl sein.(bei Style = 1 müssen "0x" als die ersten beiden Zeichen vorhanden sein)
Die Zeichenfolge 'Name' wird mit Style=0 in die Bytes gewandelt:
SELECT CONVERT(varbinary(5), 'Name', 0);
Ergebnis: 0x4E616D65
Umkehrung:
SELECT CONVERT(char(8), 0x4E616d65, 0) AS Ergebnis
Ergebnis: Name
Ein varbinary - Wert wird in eine Zeichenfolge (als hexadezimale Zahl ) gewandelt.
DECLARE @bin varbinary(5) = 0x4E616d65;
SELECT
CONVERT(char(10), @bin, 1) AS 'Ergebnis1'
,CONVERT(char(8), @bin, 2) AS 'Ergebnis2';
Ergebnis1: 0x4E616D65
Ergebnis2: 4E616D65
(Der Zeichenfolgeausdruck in den konvertiert wird, muss lang genug sein, sonst wird abgeschitten.)