为什么使用SYSDATE从commandes表中获取最新日期的查询没有返回结果?

问题描述 投票:0回答:1
SELECT *
FROM commandes
WHERE EXTRACT(MONTH FROM datecommande) = EXTRACT(MONTH FROM SYSDATE)
  AND EXTRACT(YEAR FROM datecommande) = EXTRACT(YEAR FROM SYSDATE); 

我需要返回 2020 年的数据,但是使用

SYSDATE
的查询没有返回结果,因为
SYSDATE
显示的是 2024 年。为什么会发生这种情况?

sql database oracle-sqldeveloper plsqldeveloper oracle
1个回答
0
投票

在您的查询中,您没有提到要过滤 2020 年的数据,因为您使用的是 sysdate,它将给出当前日期和时间,这就是您的查询不起作用的原因。尝试这样的方法来获取 2020 年的所有记录:

SELECT * FROM 命令 WHERE EXTRACT(YEAR FROM datecommande) = 2020;

© www.soinside.com 2019 - 2024. All rights reserved.