Sql 使用get_results()执行查询时返回不同的结果

Sql 使用get_results()执行查询时返回不同的结果,sql,database,wordpress,Sql,Database,Wordpress,我有一个使用WordPress默认DB函数运行的SQL查询get\u results 像这样 查询返回了错误的结果(我认为它忽略了WHERE子句中的date\u time)。但是,当我在phpmyadmin中手动运行相同的查询时。相同的查询给出正确的结果。我不知道这里发生了什么。你应该用来包装日期文字。: SELECT *, 'cash' AS mop FROM wp_wpsp_cash_transactions WHERE 1=1 AND DATE(date_time) > '201

我有一个使用WordPress默认DB函数运行的SQL查询
get\u results
像这样


查询返回了错误的结果(我认为它忽略了
WHERE
子句中的
date\u time
)。但是,当我在phpmyadmin中手动运行相同的查询时。相同的查询给出正确的结果。我不知道这里发生了什么。

你应该用
来包装日期文字。

SELECT *, 'cash' AS mop 
FROM wp_wpsp_cash_transactions 
WHERE 1=1 AND DATE(date_time) > '2018-10-07'  -- comparing with date not int
UNION ALL 
SELECT *, 'bank' AS mop 
FROM wp_wpsp_bank_transactions 
WHERE 1=1 AND DATE(date_time) > '2018-10-07'
ORDER BY date_time DESC;
原因:

SELECT 1
WHERE NOW() > '2019-10-07'
-- 0 rows

SELECT 1
WHERE NOW() > 2019-10-07  -- implicit conversion
-- 1

是的,非常感谢你。我犯了这么愚蠢的错误。我没有注意到这一点。
SELECT 1
WHERE NOW() > '2019-10-07'
-- 0 rows

SELECT 1
WHERE NOW() > 2019-10-07  -- implicit conversion
-- 1