sql怎么查昨天的数据 弱弱的问下,我想查询表里面昨天的数据,表名test 日期字段是 wit_date 我执行:SELECT * FROM test where DATEDIFF(d,wit_date,GETDATE()) = 1 提示我 ORA-00904:"DATEDIFF":标识符无效
请问为什么? 如果错了那我要查昨天数据,sql该怎么写啊
------解决方案-------------------- SELECT * FROM test where wit_date = sysdate - 1
这样可以吗?
------解决方案--------------------
select * from test where wit_date < trunc(sysdate) and wit_date >trunc(sysdate-1)
------解决方案--------------------
------解决方案-------------------- SELECT * FROM test where to_char(wit_date,'yyyy-mm-dd') = to_char(sysdate - 1, ,'yyyy-mm-dd'); 你说1楼查不出数据应该是因为你的数据库里的日期是带时分秒的,所以两个日期不可能相等,你按照我给你的思路转换一下把时分秒去掉,日期就相等了
------解决方案-------------------- SELECT * FROM test where DATEDIFF(d,witdate) = 1
------解决方案-------------------- 都装换成响应的格式
------解决方案-------------------- 这也要看你的数据库中的字段类型和格式啊
------解决方案-------------------- SELECT * FROM test WHERE DATEDIFF(day, witdate, getdate())=1