oracle 函数相关

=================start with   connect by prior语句==================
select * from tb_menu m start with m.id=1 connect by m.parent=prior m.id;--递归查询m.parent = 1的所有数据,即递归查询m.id=1的所有子节点。
select * from tb_menu m start with m.id=38 connect by prior m.parent=m.id;--递归查询m.id=38的记录的parent字段值 = m.id的所有数据,即递归查询m.id=1的所有父节点。

prior修饰哪个字段,就用查出的记录的哪个字段值替换带prior的部分,然后递归迭代出所有数据。

 

 

 

1. 时间差:

天数:

floor(to_date(s.set_hbp_time, 'yyyy-mm-dd hh24:mi:ss') - to_date(r.checkTime, 'yyyy-mm-dd')) <=7

 

 

2. 增加或减去月份:
select add_months(to_date('199912','yyyymm'),2) from dual;

 

3. 给出date2-date1的月份:MONTHS_BETWEEN(date2,date1)

select months_between(to_date('2016-08-01', 'yyyy-mm-dd'),to_date('2016-04-03', 'yyyy-mm-dd')) mon_between from dual;
select floor(months_between(to_date('2016-08-01', 'yyyy-mm-dd'),to_date('2016-04-03', 'yyyy-mm-dd'))) mon_between from dual;
select ceil(months_between(to_date('2016-08-01', 'yyyy-mm-dd'),to_date('2016-04-03', 'yyyy-mm-dd'))) mon_between from dual;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值