最高月份Mysql / PHP

时间:2014-10-24 21:45:40

标签: php mysql sql mysqli

这是我的sql表

| id | data      | date           |
|----|-----------|----------------|
| 1  | some data | october 2014   |
| 2  | some data | september 2014 |

我希望获取表格中的最新月份,因为日期是varchar,我如何获得最大日期?

1 个答案:

答案 0 :(得分:1)

这应该这样做:

SELECT max(str_to_date(date, '%M %Y')) as max_date 
FROM schema.data;

这是一个经过全面测试的PHP示例:

<?php

    function getMaxDate() {
        try {       
            $db = new PDO("mysql:host=localhost;charset=utf8", "root", "root");
            $cmd = $db->prepare("
                SELECT max(str_to_date(date, '%M %Y')) as max_date 
                FROM schema.data;
            ");
            $cmd->execute();
            $result = $cmd->fetch();
            return $result[0];
        } catch (PDOException $e) { echo $e->getMessage(); return; }
    }

    echo getMaxDate();

?>

返回以下内容:

2014-10-00