mkScheller Geschrieben 24. August 2011 Geschrieben 24. August 2011 Hi, wie kann man aus aus einem INTEGER-Wert ein String Wert machen? Wir haben die Nutzerrolle als INT in der Users-Tabelle gespeichert, jetzt möchte ich herausfinden welche Userrolle jemand hat und mir aber nicht die INTEGER sondern die STRING-Bedeutung ausgeben lassen, sowass wie SELECT name, kind FROM users wobei aber der kind nicht als INTEGER sondern als String, i.d.F. "Söldner", "Gefreiter", "Metzger", "Analphabet" ausgegeben wird.
mkScheller Geschrieben 24. August 2011 Autor Geschrieben 24. August 2011 OK, habe Antwort gefunden: MySQL :: MySQL 5.1 Referenzhandbuch :: 12.2 Ablaufsteuerungsfunktionen SELECT name, CASE kind WHEN 1 THEN "Söldner" ... FROM users;
el_pollo_diablo Geschrieben 24. August 2011 Geschrieben 24. August 2011 Diese Vorgehensweise eignet sich halt nur, wenn sich die verbundenen Werte nicht sehr oft verändern und/oder das ganze nicht lokalisiert werden soll... Ein besserer Ansatz wäre hierfür die Beschreibungen in eine extra Tabelle auszulagern und die beiden Tabellen über die kind-Spalte miteinander zu verbinden. Damit kann man dann z.B. auch die Beschreibungen pflegbar machen, ohne die SQL-Statements ändern zu müssen.
Sacaldur Geschrieben 26. August 2011 Geschrieben 26. August 2011 ich schließe mich el_pollo_diablo vollkommen an du solltest eine weitere Tabelle für diese Aufzählung verwenden, in der du dann die ID und die Bezeichnung speichern kannst eine Lokalisierung der Daten ist möglich, indem die ID zu einer zusammengesetzen ID aus den Feldern der vorherigen ID und eines Länderschlüssels umgewandelt wird
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden