我要查EMPLOYEE表中,前一天或前十天的数据, resign_date是Date类型,带时间的, 怎么才能做到呢? select * from EMPLOYEE
where resign_date = sysdate-1
or resign_date = sysdate -10
where resign_date = sysdate-1
or resign_date = sysdate -10
解决方案 »
- timesten连oracle 报错 不是有效地的存储过程
- 多条记录如何合并成一条记录,请教,急!!
- 新手求助:Oracle装上了但是无法连接到数据库实例
- 菜鸟问题:oracle官方网站上oracle10下载哪个版本啊?
- HELP!我刚装好oracle数据库,请问该如何设置才能让客户端连通数据库?(急)
- 编译SQLJ这是什么原因,能帮我看看吗??
- 命令行exp数据导出问题-------分不够再加
- win2k下的客户端9i,为什么在sql plus中访问long字段的数据就自动关闭plus
- 我的远程数据link出错!! 如何把一个数据库中的部分记录通过sql语句导入到另一个数据库??
- 碰到一个棘手存储过程拼接字符串的问题
- Linux as 4 命令行安装 Oracle10G问题
- ODI中将mysql表course(cno,cname)集成到oracle
where trunc(resign_date) = trunc(sysdate)-1
or trunc(resign_date) = trunc(sysdate) -10;
where to_char(resign_date,'YYYY-MM-DD') = to_char(sysdate -1,'YYYY-MM-DD')
or to_char(resign_date,'YYYY-MM-DD') = to_char(sysdate -10,'YYYY-MM-DD')
FROM employee
WHERE resign_date = to_date(to_char(SYSDATE - 1, 'YYYY-MM-DD hh24:mi:SS'), 'YYYY-MM-DD hh24:mi:SS'))
OR resign_date = to_date(to_char(SYSDATE - 10, 'YYYY-MM-DD hh24:mi:SS'), 'YYYY-MM-DD hh24:mi:SS'));
这样肯定是不会影响性能的。
select * from EMPLOYEE where DATEDIFF(day,resign_date, GETDATE())<11
你说的是SqlServer的吧。
--这样能够有效利用resign_date上的索引提高查询速度
select *
from employee
where resign_date < tranc(sysdate) and resign_date >= tranc(sysdate)-1
union
select *
from employee
where resign_date < tranc(sysdate)-9 and resign_date >= tranc(sysdate)-10;