select count(*) from a,b where a.a_id=b.a_id and to_date(to_char(b.b_date,'yyyy-mm-dd')||to_char(b.b_time,' hh:mi'),'yyyy-mm-dd hh:mi')-a.a_time/24/60<sysdate;
解决方案 »
- 编译通过,运行报 undefined reference to 'sqlcxt(void**, unsigned*, sqlexd*, sqlcxp c
- Linux环境下关机再开机后Oracle没有listener的问题。
- 过程里怎么定义变量
- 一个简单的pl/sql语句问题
- Oracle数据库的Date类型字段中存放的日期格式是怎样的?
- 100分求教数据转换问题.
- 怎么移动系统表空间的文件
- 奇怪问题?
- 触发器问题,很简单,请指教。把‘FOR EACH ROW’去掉就不出错了。在线等待
- 我机器上连接oracle过一会就会停掉,是什么原因?
- 有关ORACLE的PL/SQL问题,100分,在线等.............
- 关于“日期时间”格式的问题!!!
--------------------------------------------------------------------------------然后减去与a_id相对应的a_timeselect to_char(to_date(to_char(b.b_date,'yyyy-mm-dd') || to_char(b.b_time,' hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')-1/(24*60)*(to_number(a.a_time)),'yyyy-mm-dd HH24:mi:ss') nDate from a,b where a.a_id = b.a_id;
--------------------------------------------------------------------------------最后在与系统时间(sysdate)比较,算出小于系统时间的个数(count,此Select语句如何写?select count(*) from a,b where (a.a_id = b.a_id) and (to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') > to_char(to_date(to_char(b.b_date,'yyyy-mm-dd') || to_char(b.b_time,' hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')-1/(24*60)*(to_number(a.a_time)),'yyyy-mm-dd HH24:mi:ss'));
1. || 是连接符,连接左右两个字符串.
2. 分析 to_date(...)-1/(24*60)*(to_number(a.a_time)) .
to_date(...)-1 是一天前的日期.
to_date(...)-1/24 是一小时前的日期.
to_date(...)-1/(24*60) 是一分钟前的日期
to_date(...)-1/(24*60)*(to_number(a.a_time)) 就是 a.a_time 分钟之前的日期了.3. 用了两个判断条件.(这个容易看的懂,就不详细了 ^_^)
建议使用 pengdali(大力 V3.0) 的方法~ 因为简单,易懂~~我想应该是同时提交回复的吧~
但和 SQL 高手一比,我差的远了.. 唉...惭愧ing... :-(
sum(decode(sign(to_date(to_char(b_date,'yyyy-mm-dd')||to_char(b_time,'hh24:mi:ss'),'yyyy-mm-ddhh24:mi:ss')-(select a_time/(24*60) from a where a.a_id=b.a_id)-sysdate),-1,1,0)) count
from b
错误ORA-00937:非单组分组函数