von Senekurios » Do, 21.04.2016 12:45
Hallo,
ich versuche gerade die Altersberechnung aus dem Handbuch
Code: Alles auswählen
SELECT
CASE
WHEN MONTH("Birthdate") > MONTH(CURDATE())
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
WHEN (MONTH("Birthdate") = MONTH(CURDATE()) AND DAY("Birthdate")> DAY(CURDATE()))
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
ELSE DATEDIFF('yy',"Birthdate",CURDATE())
END AS "Age"
in eine Abfrage mit einzubauen, welche als Basis
hat.
Das ganze sollte so aussehen, bringt aber einen Syntaxfehler.
Code: Alles auswählen
SELECT * , (CASE WHEN....) AS "Age" FROM Tabelle WHERE Bedingung
Geht diese Zusammenstellung grundsätzlich und wenn ja, was muss ich noch zusätzlich beachten. Oder bleibt mir nur der umstädliche Weg, alle Spalten aus der Tabelle dann einzeln einzulesen?
Gruß
Marko
Hallo,
ich versuche gerade die Altersberechnung aus dem Handbuch
[code]SELECT
CASE
WHEN MONTH("Birthdate") > MONTH(CURDATE())
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
WHEN (MONTH("Birthdate") = MONTH(CURDATE()) AND DAY("Birthdate")> DAY(CURDATE()))
THEN DATEDIFF('yy',"Birthdate",CURDATE())-1
ELSE DATEDIFF('yy',"Birthdate",CURDATE())
END AS "Age"[/code]
in eine Abfrage mit einzubauen, welche als Basis
[code]SELECT * FROM Tabelle WHERE Bedingung [/code] hat.
Das ganze sollte so aussehen, bringt aber einen Syntaxfehler.
[code]SELECT * , (CASE WHEN....) AS "Age" FROM Tabelle WHERE Bedingung[/code]
Geht diese Zusammenstellung grundsätzlich und wenn ja, was muss ich noch zusätzlich beachten. Oder bleibt mir nur der umstädliche Weg, alle Spalten aus der Tabelle dann einzeln einzulesen?
Gruß
Marko