select count(*) from (
select DNAorderno,Order_no,LTime,Settledate,Pay_fee,Commimission,Tel,order_Status,Order_Type
from(select b.orderno DNAorderno,a.order_no,a.add_time as LTime,b.settledate,a.pay_fee,null as Commimission,Tel,order_Status,Order_Type from ercp_t_order a
left join ercp_payresult b on a.order_no=b.reference where a.pay_id=5 and a.pay_status=1 )
where ( LTime >='2012-02-19 00:00:00.000' and LTime<='2012-03-19 23:59:59.999' and 1=1 ) ) t
LTime >='2012-02-19 00:00:00.000' and LTime<='2012-03-19 23:59:59.999' 就是这句错啦,为什么字段类型自动变成字符串呢?
我想包一层,写个通用的语句。
谢谢。
解决方案 »
- 急!!!异常详细信息: System.IndexOutOfRangeException: 无法找到表 0
- oracle查询排序问题
- 急求一oracle函数!源码
- 请问为何nvl(a.cqualitylevelid,'a') = 'a' 行而 nvl(a.cqualitylevelid,'') = ''不行?
- 发出了好几天的帖子,一直没人应答..难道分数给少了?还是问题太简单了?高手能否给些指点啊!!!
- 如何将oracle中的一个表(包括内容)copy或是克隆到该oracle的其他表空间中?
- How to generate random numbers and strings in Oracle
- oracle中我记得有几个版本中ROWNUM 和 ORDER BY 的使用结果是不同的, 具体是怎样?
- TOAD的问题,谢谢
- 急!急!急! 有关8.1.7中调试group by出现的问题
- 在DataGuard的从库做rman备份,然后拉到别的服务器去恢复。能启动,但不能用,报错然后就lost contact。
- 两个dmp文件,怎么合并,急求助。。在线等待
我将
LTime >='2012-02-19 00:00:00.000' and LTime<='2012-03-19 23:59:59.999'
放到括号里是可以的。我不放的原因是还有其他的表查询,他们的条件也一样,就是字段名不一样。
所以我想包一层。条件全部统一
oracle普通的DATE类型不支持秒以后的格式,且一定要进行类型转换。
'2012-02-19 00:00:00.000'应改为LTime >= to_date('2012-02-19 00:00:00','yyyy-mm-dd hh24:mi:ss')
select count(*) from (
select DNAorderno,
Order_no,
LTime,
Settledate,
Pay_fee,
Commimission,
Tel,
order_Status,
Order_Type
from(select b.orderno
DNAorderno,
a.order_no,
a.add_time as LTime,
b.settledate,
a.pay_fee,null as Commimission,
Tel,order_Status,
Order_Type
from ercp_t_order a
left join ercp_payresult b on a.order_no=b.reference
where a.pay_id=5 and a.pay_status=1
) test
where test.LTime >=to_date('2012-02-19 00:00:00.000','你需要的日期格式') and test.LTime<=to_date('2012-03-19 23:59:59.999','你需要的日期格式') and 1=1
) t