2016-08-04 1 views
3

Ich bin neugierig, ob es möglich ist eine Textzeile angezeigt werden anstelle des tatsächlichen Ergebnis zurückgegeben durch MySQL, zum Beispiel habe ich eine Tabelle:Können Sie in einem MySQL-Ergebnissatz eine Zahl durch einen String ersetzen?

CREATE TABLE users ( 
    id INT(11) AUTO_INCREMENT PRIMARY KEY, 
    name VARCHAR(20) NOT NULL, 
    gender SMALLINT(1) 
); 

Jetzt möchte ich die folgende Abfrage ausführen:

SELECT * FROM users 

Diese so (Dummy-Daten) durch Standardrückgabe etwas würde:

id |  name | gender 
    --------------------------- 
    1  Rob   0 
    2  Sam   1 
    3  Alyssa  1 
    4  Tom   0 

Allerdings frage ich mich, ob es einen Weg gibt, es zu ändern s o statt 0/1 von dessen Ausgabe Ausgabe wird in etwa so:

id |  name | gender 
    --------------------------- 
    1  Rob  male 
    2  Sam  female 
    3  Alyssa female 
    4  Tom  male 
+0

@ e4c5 - Ich habe es richtig markiert, tut mir leid. Wenn der Timer mich vom Markieren abhält, neige ich dazu, zu vergessen. – Hobbyist

+0

keine Sorgen. Alles Gute mit Ihrem Projekt – e4c5

Antwort

3

können Sie diese CASE WHEN

SELECT id, name, CASE gender WHEN 0 THEN 'male' ELSE 'female' END FROM users. 

CASE mit erreichen, wenn ein Teil der MySQL-Flow-Steueranweisungen ist. In der Regel, wenn Sie auch etwas basierend auf einem Vergleich auswählen möchten, tun Sie eine CASE WHEN comparision THEN valule ELSE some other value END. Mysql hat auch eine IF ELSE, aber dies wird in gespeicherten Prozeduren anstelle von einfachen Abfragen verwendet.

+0

Ich denke, Sie verpassen die Spalte "Geschlecht": CASE Geschlecht WHEN ... –

+0

Dank @ VicenteOlivertRiera, die Gefahren der schnellsten Waffe im Westen Spiel – e4c5

2

Verwendung case ... when ... then ... else

select id, Name, case gender when 1 THEN 'female' else 'male' end as gender from users 
4

Sie einen case Ausdruck verwenden können:

SELECT id, 
     name, 
     CASE gender WHEN 0 THEN 'male' WHEN 1 THEN 'female' END AS gender 
FROM users 
0

Für Ersatz von Inhalten oder DATAT, Sie haben zu verwenden, "Fall bei Status" Case When Stateement In MySql,

Mit diesem können Sie Perf orm Ihr Ergebnis nach Ihren Bedürfnissen.

Verwandte Themen