Skip to main content

Alles für die Homepage... Scripte, Templates, Workshops und Support

MySQL – WHEN, THEN, ELSE und END

Möchte man verschiedene Optionen mit einer MySQL Abfrage auswerten bieten sich die Befehle WHEN, THEN, ELSE und END an.

Beispiel, Abfrage eines Tagesabstandes für eine Altersbestimmung

Dieser Code zeigt Beispielhaft wie man das Alter von Datenbankeinträgen verschieden darstellen kann. Hier sollen Newseinträge mit einer Art „Neu Status“ versehen werden.

CODE:
SELECT newstitel, CASE 
WHEN (TO_DAYS(CURDATE()) - TO_DAYS(newsdate)) BETWEEN 0 AND 7 THEN 'NEU, maximal 7 Tage alt' 
WHEN (TO_DAYS(CURDATE()) - TO_DAYS(newsdate)) BETWEEN 8 AND 14 THEN 'Zwischen 8 und 14 Tage alt' 
WHEN (TO_DAYS(CURDATE()) - TO_DAYS(newsdate)) BETWEEN 15 AND 21 THEN 'Zwischen 15 und 21 Tage alt' 
WHEN (TO_DAYS(CURDATE()) - TO_DAYS(newsdate)) BETWEEN 22 AND 29 THEN 'Zwischen 22 und 29 Tage alt' 
WHEN (TO_DAYS(CURDATE()) - TO_DAYS(newsdate)) BETWEEN 30 AND 40 THEN 'Zwischen 30 und 40 Tage alt' 
ELSE 'Noch älter' END AS neustatus,
FROM news

Je nach Alter wird dann zum Newstitel noch der entsprechende Status von NEU, maximal 7 Tage alt bis Noch älter ausgegeben.

Einsetzbar ist eine derartige MySQL Abfrage aber auch für Abfragen von Altersbereichen von Mitgliedern, Registrierungshäufigkeiten und dergl.

Anzeige


Ähnliche Beiträge



Keine Kommentare vorhanden


Du hast eine Frage oder eine Meinung zum Artikel? Teile sie mit uns!

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *