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

sql2008访问oracle数据取数过滤代码
select * from openquery(ATF,'select * from dept where convert(char(10),occ_time,120)=''convert(char(10),getdate(),120)''')



上面代码中我想取数加入过滤条件日期后就报错,请大牛帮忙看看是什么原因?

------解决方案--------------------
oracle 日期转换函数不是convert(),是to_date(),to_char()


select * from openquery(ATF,'select * from dept where to_char(occ_time,''yyyy-mm-dd'')=to_char(sysdate,''yyyy-mm-dd'')')

------解决方案--------------------
我现在没有测试环境,看你的语法应该没有问题,你查询没有结果不就知道了吗?

可以先把条件:  and loc in(''口服'',''鼻饲'')
去掉
------解决方案--------------------
select * from openquery(ATF,'select * from dept where to_char(occ_time,''yyyy-mm-dd'')=to_char(sysdate,''yyyy-mm-dd'')
and loc in(''口服'',''鼻饲'')
') 

帮你验证了,这个写法是对的