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'