Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

HEX_OF_VALUE() - Beliebigen Wert in Hexadezimalform darstellen

Funktionsgruppe: Zeichenkettenfunktion

HEX_OF_VALUE() stellt einen Wert eines beliebigen Datentyps in Hexadezimalform dar, d.h. in einer Zeichenkette bestehend aus den Sedezimalzeichen 0,1,2,...,9,a,b,...,f.

Damit können beliebige Bitmuster lesbar ausgegeben werden.


HEX_OF_VALUE ( ausdruck )



ausdruck

Ausdruck, dessen Wert in Hexadezimalform dargestellt werden soll.
Sein 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.
ausdruck darf kein multipler Wert mit Dimension > 1 sein.


Ergebnis

Wenn der Wert von ausdruck der NULL-Wert ist, dann ist das Ergebnis der NULL-Wert.

Sonst:

Die interne Darstellung des Werts von ausdruck in Hexadezimalform als alphanumerische Zeichenkette. Deren Länge ist in der Tabelle auf der nächsten Seite angegeben.


Datentyp: CHARACTER VARYING mit einer Maximallänge gemäß folgender Tabelle.

Datentyp von ausdruck

Datentyp des Ergebnisses

Länge des Ergebnisses,

falls nicht NULL

CHAR(n)

VARCHAR(2*n)

2*n

VARCHAR(n) mit n <= 16000

VARCHAR(2*n)

0 bis 2*n, gerade

NCHAR(n)

VARCHAR(4*n)

4*n

NVARCHAR(n) mit n <= 8000

VARCHAR(4*n)

0 bis 4*n, durch 4 teilbar

SMALLINT

VARCHAR(4)

4

INTEGER

VARCHAR(8)

8

NUMERIC(p,s)

VARCHAR(2*p)

2*p

DECIMAL(p,s)

VARCHAR(q 1)

q 1

REAL, FLOAT (<= 21 Stellen)

VARCHAR(8)

8

DOUBLE PRECISION,

FLOAT (>= 22 Stellen)

VARCHAR(16)

16

DATE

VARCHAR(12)

12

TIME(3)

VARCHAR(16)

16

TIMESTAMP(3)

VARCHAR(28)

28

Tabelle 15: Datentypen und Längen bei HEX_OF_VALUE()

1q=p+2, falls p gerade; q=p+1, falls p ungerade.


Beispiele

HEX_OF_VALUE (CAST (254 AS SMALLINT))
   00fe
HEX_OF_VALUE ('ABC')
   c1c2c3

Interne Darstellung von Werten in SESAM/SQL

Die interne Darstellung von Werten ungleich NULL in SESAM/SQL, wie sie die Funktionen REP_OF_VALUE() und HEX_OF_VALUE() liefern, ist ähnlich der internen Darstellung entsprechender Werte in anderen Programmiersprachen (z.B. COBOL, C).

SQL-Datentyp

Beispielwert

interne Darstellung
(Hexadezimalform)

CHAR, VARCHAR
EBCDIC-Zeichenkette

'ABC'

c1c2c3

NCHAR, NVARCHAR
UTF16-Zeichenkette

N'ABC'

004100420043

SMALLINT
2 Byte mit binärer Darstellung des Wertes
(2-Excess Code)

+300
–300

012C

fed4

INTEGER
4 Byte mit binärer Darstellung des Wertes
(2-Excess Code)

+300
–300

0000012c

fffffed4

NUMERIC(p,s)
p Byte mit EBCDIC-Zeichen für Ziffern,
Vorzeichen im letzten Byte

+123.5
–123.5

f1f2f3f5

f1f2f3d5

DECIMAL(p,s)

FLOOR(p/2)1 Byte mit je 2 Ziffern,
letztes Byte mit 1 Ziffer und Vorzeichen

+123.5
–123.5

01235c

01235d

REAL, FLOAT (<= 21 Stellen)
1 Byte für Vorzeichen und Exponent,
3 Byte Mantisse

+2.550625e+2
(=255 + 1/16)

45ff1000

DOUBLE PRECISION,

FLOAT (>= 22 Stellen)
1 Byte für Vorzeichen und Exponent zur
Basis 16, 7 Byte Mantisse

+2.5506250000e+2

c5ff100000000000

DATE
je 2 Byte mit Jahr, Monat, Tag in binärer
Darstellung

DATE'2000-08-11'

07d800008000b

TIME(3)
je 2 Byte mit Stunden, Minuten, Sekunden
und Millisekunden in binärer Darstellung

TIME'12:34:56.123'

000c00220038007b

TIMESTAMP(3)
wie DATE und TIME(3)

TIMESTAMP
'2000-08-11 12:34:56.123'

07d800008000b000c00

220038007b

Tabelle 16: Überblick über die interne Darstellung von Werten in SESAM/SQL

1FLOOR(p/2) ist die größte ganze Zahl <= p/2