Funktionsgruppe: Zeichenkettenfunktion
Die Funktion VALUE_OF_HEX() liefert einen Wert des angegebenen Datentyps aus der gegebenen internen Darstellung in Hexadezimalform.
Sie ist die Umkehrfunktion zu HEX_OF_VALUE().
VALUE_OF_HEX (
ausdruck ,
datentyp )
ausdruck
Die interne Darstellung des Ergebniswertes in hexadezimaler Form.
Der Wert von ausdruck darf nur die Zeichen '0' bis '9', 'a' bis 'f' und 'A' bis 'F' enthalten. ausdruck muss einen Datentyp CHARACTER(n) (n gerade) oder CHARACTER VARYING(n) haben.
Sein Wert muss entweder der NULL-Wert sein oder eine Länge haben, die zum Datentypp datentyp passt (siehe die Tabelle auf der nächsten Seite). Der Datentyp von ausdruck muss Werte dieser Länge bzw. der maximalen Länge zulassen.
ausdruck darf kein multipler Wert mit Dimension > 1 sein.
datentyp
Datentyp des Wertes (ohne dimension-Angabe), von dem ausdruck die Darstellung in Hexadezimalform ist.
Der Datenyp darf nicht CHARACTER VARYING(n) mit einer Maximallänge n > 16000 und nicht NATIONAL CHARACTER VARYING(n) mit einer Maximallänge n > 8000 sein.
Ergebnis
Wenn der Wert von ausdruck der NULL-Wert ist, dann ist das Ergebnis der NULL-Wert.
Sonst:
Der Wert vom angegebenen datentyp, dessen interne Darstellung in Hexadezimalform der Wert von ausdruck ist. Für die interne Darstellung von Werten der verschiedenen Datentypen siehe Tabelle 16.
Datentyp: der angegebene datentyp
Länge von ausdruck in Zeichen | datentyp |
2*n | CHAR(n) |
0 bis 2*n | VARCHAR(n) |
4*n | NCHAR(n) |
0 bis 4*n, durch 4 teilbar | NVARCHAR(n) |
4 | SMALLINT |
8 | INTEGER |
2*p | NUMERIC(p,s) |
q 1 | DECIMAL(p,s) |
8 | REAL, FLOAT (<= 21 Stellen) |
16 | DOUBLE PRECISION, FLOAT (>= 22 Stellen) |
12 | DATE |
16 | TIME(3) |
28 | TIMESTAMP(3) |
Tabelle 18: Datentypen und Längen bei VALUE_OF_HEX
1q=p+2, falls p gerade; q=p+1, falls p ungerade.
Beispiele
VALUE_OF_HEX ('00fe', SMALLINT) 254 VALUE_OF_HEX ('c1c2c3', CHAR(3)) ABC