dedlfix: Welcher Spaltentyp für hexadezimalen Farbwert? (mysql)

Beitrag lesen

Hi!

Die Frage muss vermutlich lauten, wie man einen Stringdarstellung eines Zahlenwertes, worunter auch hexadezimale fallen, in eine Zahl bekommt und wieder zurück. Ersteres mit Parsen, zweiteres mit Formatieren. Alles Aufwand, der vermutlich in keinem guten Verhältnis zur Speichersparnis steht.
Auch eine dezimale Angabe 4711 ist eine „formatierte” Darstellung der internen binären Repräsentation dieser Zahl.
Ob du das DBMS oder die verarbeitende Stelle nun zur Basis 10 oder 16 formatieren/umwandeln lässt, sollte m.E. weniger ins Gewicht fallen.

Es es ist dann doch weniger aufwendig, als ich mir erst vorgestellt hatte. Mit beispielsweise X'4996ba' lässt sich ein HEX-Wert notieren und mit HEX(spalte) wieder ausgeben. Das klappt mit jeder Spalte, die 3 Byte speichern kann, also CHAR(3), BINARY(3) und VARCHAR(3) und UNSIGNED MEDIUMINT.

Man muss nun noch sicherstellen, dass sich der in Richtung MySQL übergebene Wert hexadezimal interpretieren lässt, sonst gibt es einen Syntaxfehler.

Lo!