Parse Date из MM / DD / YYYY в формат, с которым MYSQL может работать - PullRequest
0 голосов
/ 07 января 2011

В настоящее время работает с дампом данных MLS, в котором все их даты отформатированы в ММ / ДД / ГГГГ, пытается получить минимальный / максимальный возраст

        MIN( DateDiff( NOW(), idx_common.list_date ))) AS listage_min,
        MAX( DateDiff( NOW(), idx_common.list_date ))) AS listage_max

Очевидно, что это не работает, потому что idx_common.list_date в указанном формате.

Есть идеи?

Ответы [ 3 ]

2 голосов
/ 08 января 2011

Используйте str_to_date для преобразования idx_common.list_date.

MIN( DateDiff( NOW(), str_to_date(idx_common.list_date,'%m/%d/%Y') ))) AS listage_min,
MAX( DateDiff( NOW(), str_to_date(idx_common.list_date,'%m/%d/%Y') ))) AS listage_max
2 голосов
/ 07 января 2011

http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date содержит ответ, который вы ищете.

Однако - пожалуйста, рассмотрите возможность использования реальных столбцов DATETIME вместо строк в вашей базе данных, если это вообще возможно.

0 голосов
/ 08 января 2011

используйте java или c # или что-то еще, чтобы разбить строку даты на / и переупорядочить дату в формате, ожидаемом mysql, прежде чем запускать запрос mysql.

...