我执行:SELECT * FROM test where DATEDIFF(d,wit_date,GETDATE()) = 1 提示我 ORA-00904:"DATEDIFF":标识符无效
请问为什么? 如果错了那我要查昨天数据,sql该怎么写啊
13 个解决方案
#1
SELECT * FROM test where wit_date = sysdate - 1
这样可以吗?
这样可以吗?
#2
select * from test where wit_date < trunc(sysdate)
#3
你们俩的都不行,1楼兄弟的查不出数据但不报错,2楼的查出了一堆,不是昨天的数据
#4
select * from test where wit_date < trunc(sysdate) and wit_date >trunc(sysdate-1)
#5
SELECT * FROM test where floor(sysdate - wit_date) = 1
#6
这个sql能行,我以前查过
#7
SELECT * FROM test where to_char(wit_date,'yyyy-mm-dd') = to_char(sysdate - 1,
,'yyyy-mm-dd');
你说1楼查不出数据应该是因为你的数据库里的日期是带时分秒的,所以两个日期不可能相等,你按照我给你的思路转换一下把时分秒去掉,日期就相等了
,'yyyy-mm-dd');
你说1楼查不出数据应该是因为你的数据库里的日期是带时分秒的,所以两个日期不可能相等,你按照我给你的思路转换一下把时分秒去掉,日期就相等了
#8
SELECT * FROM test where DATEDIFF(d,witdate) = 1
#9
都装换成响应的格式
#10
这也要看你的数据库中的字段类型和格式啊
或者也可以是
select * from test where wit_date = to_char(sysdate - 1, '你数据库中的字段格式'))
或者也可以是
select * from test where wit_date = to_char(sysdate - 1, '你数据库中的字段格式'))
#11
纠正下,上面的多写了个右括号
#12
SELECT * FROM test WHERE DATEDIFF(day, witdate, getdate())=1
#13
试了一下select * from test where wit_date < trunc(sysdate) and wit_date >trunc(sysdate-1) 这个可以,多谢上面的兄弟们,结贴给分!
#1
SELECT * FROM test where wit_date = sysdate - 1
这样可以吗?
这样可以吗?
#2
select * from test where wit_date < trunc(sysdate)
#3
你们俩的都不行,1楼兄弟的查不出数据但不报错,2楼的查出了一堆,不是昨天的数据
#4
select * from test where wit_date < trunc(sysdate) and wit_date >trunc(sysdate-1)
#5
SELECT * FROM test where floor(sysdate - wit_date) = 1
#6
这个sql能行,我以前查过
#7
SELECT * FROM test where to_char(wit_date,'yyyy-mm-dd') = to_char(sysdate - 1,
,'yyyy-mm-dd');
你说1楼查不出数据应该是因为你的数据库里的日期是带时分秒的,所以两个日期不可能相等,你按照我给你的思路转换一下把时分秒去掉,日期就相等了
,'yyyy-mm-dd');
你说1楼查不出数据应该是因为你的数据库里的日期是带时分秒的,所以两个日期不可能相等,你按照我给你的思路转换一下把时分秒去掉,日期就相等了
#8
SELECT * FROM test where DATEDIFF(d,witdate) = 1
#9
都装换成响应的格式
#10
这也要看你的数据库中的字段类型和格式啊
或者也可以是
select * from test where wit_date = to_char(sysdate - 1, '你数据库中的字段格式'))
或者也可以是
select * from test where wit_date = to_char(sysdate - 1, '你数据库中的字段格式'))
#11
纠正下,上面的多写了个右括号
#12
SELECT * FROM test WHERE DATEDIFF(day, witdate, getdate())=1
#13
试了一下select * from test where wit_date < trunc(sysdate) and wit_date >trunc(sysdate-1) 这个可以,多谢上面的兄弟们,结贴给分!