oracle with 查询,oracle with 语句实现递归查询
connect by用法
使用rownum實現(xiàn)1到10的序列。select?rownum?from?dual?connect?by?rownum<=10;
使用level實現(xiàn)1到10的序列。select?level?from?dual?connect?by?level<=10;
with 可實現(xiàn)同樣功能用法:with?c(n)?as
(select?1?from?dual
union?all
select?n+1?from?c
where?n<10)
select?n?from?c;
查詢當前時間往前的12周的開始時間、結(jié)束時間、第多少周:
select sysdate - (to_number(to_char(sysdate - 1, 'd')) - 1) -
(rownum - 1) * 7 as startDate,
sysdate + (7 - to_number(to_char(sysdate - 1, 'd'))) -
(rownum - 1) * 7 as endDate,
to_number(to_char(sysdate, 'iw')) - rownum + 1 as weekIndex ?from dualconnect by level<= 12;--將level改成rownum可以實現(xiàn)同樣的效果
d 表示一星期中的第幾天
iw 表示一年中的第幾周
字符串分割,由一行變?yōu)槎嘈?
比如說分割01|02|03|04這種有規(guī)律的字符串select?REGEXP_SUBSTR('01|02|03|04',?'[^|]+',?1,?rownum)?as?newport
from?dual
connect?by?rownum?<=?REGEXP_COUNT('01|02|03|04',?'[^|]+');
原文:http://blog.51cto.com/aaron521/2132730
總結(jié)
以上是生活随笔為你收集整理的oracle with 查询,oracle with 语句实现递归查询的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle json字符串转数组,js
- 下一篇: 内存芯片DIY SSD,超乎想象的速度体