日期:2014-05-17  浏览次数:20641 次

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 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(d,witdate) = 1

------解决方案--------------------
SELECT * FROM test WHERE DATEDIFF(day, witdate, getdate())=1