我正在尝试从一个列中获取一个日期,并将其转换为字符串并转换为新列。大写取决于月份是六月还是七月。 (这是仅显示的两个月),我尝试使用date_format()函数,但无法获得很大的成功。

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

最佳答案

根据您所提供的很少的信息,我建议使用以下SQL语句:

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


在这里,我假设表名是发票。在任何情况下,月份都不是6或7时,它都会显示“ SOME OTHER MONTH”。

10-08 04:21