mysql 获取具有元值的两个日期之间的记录
mysql get records between two dates with meta value
我正在触发 Sql 查询以获取 wp_postmeta table 中两个日期之间的记录。
我正在 运行 以下查询:
SELECT *
FROM `wp_postmeta`
WHERE`meta_key` LIKE 'date'
AND `meta_value` >= '02/01/2015'
AND `meta_value` < '20/10/2015'
这个查询应该return mata 值在 02/01/2015 到 20/10/2015 之间的结果
不幸的是它 returns 01/01/2014 和 2014 年的所有其他记录。
它 return 是错误的结果。它在结果中显示 2014 年的日期。
我做错了什么?我想在 meta_value
之前获取 2 个日期之间的记录
将您的 varchar 日期转换为实际日期。然后使用 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'
或<
和>
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'
我正在触发 Sql 查询以获取 wp_postmeta table 中两个日期之间的记录。
我正在 运行 以下查询:
SELECT *
FROM `wp_postmeta`
WHERE`meta_key` LIKE 'date'
AND `meta_value` >= '02/01/2015'
AND `meta_value` < '20/10/2015'
这个查询应该return mata 值在 02/01/2015 到 20/10/2015 之间的结果
不幸的是它 returns 01/01/2014 和 2014 年的所有其他记录。
它 return 是错误的结果。它在结果中显示 2014 年的日期。
我做错了什么?我想在 meta_value
之前获取 2 个日期之间的记录将您的 varchar 日期转换为实际日期。然后使用 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'
或<
和>
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'