ÎÊÌâÌá³ö£º
Ò»¸ö¸ß¼¶SQLÓï¾äÎÊÌâ
¼ÙÉèÓÐÒ»ÕÅ±í£¬ÓÐÕâÑùһЩÊý¾Ý
a b
1 2
0 2
2 3
3 4
4
5 6
6 7
12 7
7
aÊÇ×Ó½Úµã bÊǸ¸½Úµã ,Èç¹ûbΪnull ÔòΪһ¿ÃÊ÷µÄ¸ù½Úµã
¸ù¾ÝAÓëBµÄÕâ¸ö¹ØÏµ ÕÒ³öÒ»¿ÃÊ÷µÄ½á¹¹ÏÔʾ³öÀ´ £¬²¢ÏÔʾ³öÿ¸ö½ÚµãÔÚÊéÖеIJ㼶£¬½«Ê÷µÄ½á¹¹´òÓ¡³öÀ´
ÎÒÕâ±ß¼ÙÉèÊ÷×î¶àÓÐ5¸ö²ã¼¶£¬SQLÈçÏ£º
with tt as(
select 1 a,2 b from dual
union all SELECT 0,2 from dual
union all select 2,3 from dual
union all select 3,4 from dual
union all select 4,null from dual
union all select 5,6 from dual
union all select 6,7 from dual
union all select 12,7 from dual
union all select 7,null from dual)
SELECT
a
,tree_lvl
,root
,tree_lvl_path
,(CASE
WHEN tree_lvl >1 THEN SUBSTR(tree_lvl_path,1,instr(tree_lvl_path,',',1,1)-1 )
ELSE tree_lvl_path
END) COL01
,(CASE
WHEN tree_lvl <2 THEN NULL
WHEN tree_lvl =2 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,1)+1 )
WHEN tree_lvl >2 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,1)+1,instr(tree_lvl_path,',',1,2)- instr(tree_lvl_path,',',1,1)-1 )
END) COL02
,(CASE
WHEN tree_lvl <3 THEN NULL
WHEN tree_lvl =3 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,2)+1 )
WHEN tree_lvl >3 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,2)+1,instr(tree_lvl_path,',',1,2)- instr(tree_lvl_path,',',1,1)-1 )
END) COL03
,(CASE
WHEN tree_lvl <4 THEN NULL
WHEN tree_lvl =4 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,3)+1 )
WHEN tree_lvl >4 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,3)+1,instr(tree_lvl_path,',',1,3)- instr(tree_lvl_path,',',1,2)-1 )
END) COL04
,(CASE
WHEN tree_lvl <5 THEN NULL
WHEN tree_lvl =5 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,4)+1 )
WHEN tree_lvl >5 THEN SUBSTR(tree_lvl_path,instr(tree_lvl_path,',',1,4)+1,instr(tree_lvl_path,',',1,5)- instr(tree_lv
±¾ÎĽÚÑ¡×Ô¡¶Oracle DBAÊּǗ—Êý¾Ý¿âÕï¶Ï°¸ÀýÓëÐÔÄÜÓÅ»¯Êµ¼ù¡·µÚ2Õ“YangtingkunµÄDBA¹¤×÷Êּǔ £¨×÷ÕߣºÑîÍ¢çû£©
V$SQLÊÓͼÏÔʾ½á¹ûÒì³£µÄÕï¶Ï
ÓÐÒ»´ÎÅöµ½Ò»¸öºÜÆæ¹ÖµÄÎÊÌ⣬ÔÚ¼ì²é»á»°ËùÖ´ÐеÄSQLʱ£¬·¢ÏÖV$SQLÊÓͼÖÐSQL_TEXTÁÐÖеÄÊý¾ÝÊDz»Õý³£µÄ¡£
ÓÉÓÚV$SQLÊǶ¯Ì¬ÐÔÄÜÊÓͼ£¬ÀïÃæ±£´æµÄÊǵ± ......
ÔÀ´ÓõÄSQL server£¬Ö÷ÒªÓÐÁ½ÖÖ·ÖÒ³·½·¨£ºÓαêºÍÆ´×Ö·û´®£¬Óα귨̫Âý£¬Æ´´®·¨Ò²ÓÐһЩȱÏÝ¡£
ÏÖÔÚÕÒµ½ÁËÒ»¸öOracleµÄ·ÖÒ³·½·¨£¬Ò²¿ÉÒÔ˵ÊÇÆ´×Ö·û´®£¬µ«ÊÇÓÃÆðÀ´¾Í±ÈSQL serverµÄÒª·½±ã£¬Ã»ÓÐ֮ǰµÄÎÊÌ⣺
SELECT * from
(
SELECT A.*, ROWNUM RN
from (SELECT * from TABLE_NAME) A
WHERE ROWNUM <= 40
)
W ......