Ich versuche, eine Entsprechung der DECODE-Funktion in MySQL zu finden. Es funktioniert wie folgt:
Select Name, DECODE(Age,
13,'Thirteen',14,'Fourteen',15,'Fifteen',16,'Sixteen',
17,'Seventeen',18,'Eighteen',19,'Nineteen',
'Adult') AS AgeBracket
FROM Person
Die DECODE-Funktion vergleicht den Wert der Spalte 'Alter' mit 13, 14, 15 und gibt den entsprechenden Stringwert 'Dreizehn', 'Vierzehn' zurück. Wenn nichts übereinstimmt, wird der Standardwert 'Erwachsener' zurückgegeben.
Gibt es eine Idee, welche Funktion in MySQL diese Aufgabe übernehmen kann? Danke!
KLÄRUNG: Ich stimme zu, dass die Verwendung von CASE eine Möglichkeit ist, das gewünschte Ergebnis zu erzielen, aber ich bin eher auf der Suche nach einer Funktion aus Leistungsgründen und aus anderen Gründen.
5 Stimmen
Eine Funktion wird nicht schneller sein als die CASE-Anweisung
0 Stimmen
Das ELT von Mysql scheint ein DECODE-Alternativprogramm zu sein: dev.mysql.com/doc/refman/4.1/de/