问题
Currently working with a MLS data dump in which all their dates are formatted in MM/DD/YYYY , Trying to get the min/max age
MIN( DateDiff( NOW(), idx_common.list_date ))) AS listage_min,
MAX( DateDiff( NOW(), idx_common.list_date ))) AS listage_max
Obviously this does not work because idx_common.list_date
is in said format.
Any ideas?
回答1:
Use str_to_date to convert 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:
http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date contains the answer you seek.
However - please consider using real DATETIME columns instead of strings in your database, if at all possible.
回答3:
use java or c# or something to split the string of the date by the / and reorder the date into the format expected by mysql before you run the mysql query.
来源:https://stackoverflow.com/questions/4630208/parse-date-from-mm-dd-yyyy-to-a-format-mysql-can-work-with