Hello,
nochmal Thema Typumwandlung, dieses Mal aber zu MySQL
Ich habe einen Varbinary String, dessen hexadezimale repräsentation zum Beispiel so aussieht:
0x0010001B0074005E00620039
Nun hole ich mir mit einem Select-Statement das letzte Word (also 2 Tupel) ab:
select hex(substring(position
, -2)) zahl
from entries where id=1223;
zahl -> 39
select hex(substring(position
, -2)) +1 zahl
from entries where id=1223;
zahl -> 40
Ich möchte aber, dass MySQL mit der Zahl auch hexadzimal rechnet, also als Ergebnis 0x003A liefert. Wie kann ich das erreichen?
Alternativ wäre ich auch damit zufrieden, nach dem Select eine dezimale Darstellung von Anfang an zu haben, also anstelle von 39 dann 57. Leider finde ich keine Möglichkeit, aus dem Hex-String zwei Bytes zu extrahieren und die dann als Dezimalzahl zu behandeln.
Ich würde mir für die rechenoperationen gerne den Umweg über PHP ersparen. dafür benötige ich in MySQL aber ein Pendant für pack() und unpack().
Bisher ausprobiert habe ich
* binaray
* cast()
* convert()
* hex()
* unhex()
dec() scheint es ja nicht zu geben?
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg