Oralce 的sql问题

本文介绍如何使用SQL查询获取两个指定日期之间的工作日,通过层次查询和日期筛选实现这一目标。

 获取两个日期间的工作日,
 
SQL> select dt_time
  2    from (select to_date('01-12-2010 08:20:56','dd-mm-yyyy HH:MI:SS') + level - 1  dt_time
  3            from dual
  4         connect by level <= sysdate - to_date('01-12-2010 08:20:56','dd-mm-yyyy HH:MI:SS')  + 1
  5         )
  6   where to_char(dt_time,'d') not in ('1','7');

 

Oracle提供的层次查询(Hierarchical Queries)功能中的connect by子句可以协助我们便捷的达到目标。

1.创建测试表T
sec@ora10g> create table t (x int);

Table created.

2.使用“connect by level”完成插入1到10连续数字
sec@ora10g> insert into t select rownum from dual connect by level<=10;

10 rows created.

转载于:https://www.cnblogs.com/feiyuanxing/p/4979754.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值