某个表里面有begindate、enddate两个字段(开始日期和结束日期),char(10)的格式(比如:2010-04-29)。
我想写个SQL可以查出sysdate在begindate和enddate之间的记录。sysdate可以直接和char(10)的类型比较吗?比如:
select table1.* from table1
where tochar(sysdate,'yyyy-mm-dd') between begindate and enddate;
我想写个SQL可以查出sysdate在begindate和enddate之间的记录。sysdate可以直接和char(10)的类型比较吗?比如:
select table1.* from table1
where tochar(sysdate,'yyyy-mm-dd') between begindate and enddate;
解决方案 »
- 求实现一存储过程
- Oracle能否实现GMT时间显示,形如 'Thu, 21 Apr 2011 12:32:06 GMT'
- 关于oracle数据库序列(sequence)原理
- 新手求救!
- 一个关于ORACLE的STREAMS的问题
- Group By,Distinct给搞晕了,之Oracle的一个查询问题!!
- 将多个表a1,a2...(结构一样)的某些字段的数据导到一个表b(b的结构包含a需要导的字段,另外多出字段a没有的)里面
- 上亿条记录,表的设计问题,请教!!!!!
- 侦听无法启动
- 求助:消费明细表更新余额触发器
- 求个 java使用 sqlloder导入文本文件的例子
- 如何将Oracle某用户下所有表的依赖关系用树的形式列出来?
from t
where begindate >= to_char(trunc(sysdate), 'yyyy-mm-dd')
and enddate < to_char(trunc(sysdate) + 1, 'yyyy-mm-dd')
where to_char(sysdate,'yyyy-mm-dd')>=begindate and to_char(sysdate,'yyyy-mm-dd')<=enddate
你的写法是用不上索引的(除非另建函数索引),所以最
好不要在字段上加函数计算,推荐1楼的写法。
where to_char(sysdate,'yyyy-mm-dd') between begindate and enddate;