Reputation: 929
i am firing Sql Query to get records between two dates in wp_postmeta table.
i am running following query :
SELECT *
FROM `wp_postmeta`
WHERE`meta_key` LIKE 'date'
AND `meta_value` >= '02/01/2015'
AND `meta_value` < '20/10/2015'
this query should return the result which has mata value between 02/01/2015 to 20/10/2015
unfortunately it returns 01/01/2014 and all other records of 2014.
it returns wrong results. it shows the 2014 dates in result.
what am i doing wrong? i want to get record between 2 dates by meta_value
Upvotes: 0
Views: 437
Reputation: 204904
Convert your varchar date into a real date. Then use either between
SELECT *
FROM `wp_postmeta`
WHERE`meta_key` = 'date'
AND STR_TO_DATE(meta_value, '%d/%m/%Y') between '2015-01-02' AND '2015-10-19'
or <
and >
SELECT *
FROM `wp_postmeta`
WHERE`meta_key` = 'date'
AND STR_TO_DATE(meta_value, '%d/%m/%Y') >= '2015-01-02'
AND STR_TO_DATE(meta_value, '%d/%m/%Y') < '2015-10-20'
Upvotes: 4