2017-09-22 3 views
0

Ich versuche, ein Datum aus einer Spalte zu nehmen und es in eine Zeichenfolge in eine neue Spalte zu konvertieren. Die Kapitalisierung hängt davon ab, ob der Monat Juni oder Juli ist. (Dies sind die einzigen zwei Monate, die gezeigt werden) Ich habe versucht, die Funktion date_format() zu verwenden, konnte aber nicht viel Erfolg damit haben.Alter in Text basierend auf dem Monat

invoice_date | month_due 
2014-07-20 | Due in July 2014 
2014-06-30 | DUE IN JUNE 2014 
+0

Sie geben nicht viele Informationen. Was ist, wenn der Monat zum Beispiel Januar oder Februar ist? – ekalyvio

+0

@ekalyvio es listet nur Juni und Juli – jhaywoo8

Antwort

1

Basierend auf Ihren sehr wenig Informationen, die Sie geben, würde ich die folgende SQL-Anweisung vorschlagen:

SELECT 
    invoice_date, 
    CASE MONTH(invoice_date) 
     WHEN 6 THEN CONCAT("DUE IN JUNE ", CONVERT(YEAR(invoice_date), char)) 
     WHEN 7 THEN CONCAT("Due in July ", CONVERT(YEAR(invoice_date), char)) 
     ELSE "SOME OTHER MONTH" 
    END month_due 
FROM invoice 

Hier nehme ich an der Tabellenname Rechnung ist. In jedem Fall ist der Monat etwas anderes als 6 oder 7, es wird "EINIGE ANDERE MONATE" angezeigt.

Verwandte Themen