Oracle trunc()函数的用法 - ALL_SOURCE,user_objects.

Oracle trunc()函数的用法

 --Oracle trunc()函数的用法

/**************日期********************/

select trunc(sysdate) from dual  --2011-3-18  今天的日期为2011-3-18
select trunc(sysdate, 'mm')   from   dual  --2011-3-1    返回当月第一天.
select trunc(sysdate,'yy') from dual  --2011-1-1       返回当年第一天
select trunc(sysdate,'dd') from dual  --2011-3-18    返回当前年月日
select trunc(sysdate,'yyyy') from dual  --2011-1-1   返回当年第一天
select trunc(sysdate,'d') from dual  --2011-3-13 (星期天)返回当前星期的第一天
select trunc(sysdate, 'hh') from dual   --2011-3-18 14:00:00   当前时间为14:41   
select trunc(sysdate, 'mi') from dual  --2011-3-18 14:41:00   TRUNC()函数没有秒的精确

/***************数字********************/

/*

TRUNC(number,num_digits) 

Number 需要截尾取整的数字。 

Num_digits 用于指定取整精度的数字。Num_digits 的默认值为 0。

TRUNC()函数截取时不进行四舍五入

*/

select trunc(123.458) from dual --123
select trunc(123.458,0) from dual --123
select trunc(123.458,1) from dual --123.4
select trunc(123.458,-1) from dual --120
select trunc(123.458,-4) from dual --0
select trunc(123.458,4) from dual  --123.458
select trunc(123) from dual  --123
select trunc(123,1) from dual --123
select trunc(123,-1) from dual --120
SELECT 'TRUNC' AS truncType , TRUNC( SYSDATE ) FROM DUAL
UNION ALL
SELECT 'Year' AS truncType , TRUNC( SYSDATE, 'YYYY' ) FROM DUAL
UNION ALL
SELECT 'Quarter' AS truncType, TRUNC( SYSDATE, 'Q' ) FROM DUAL
 UNION ALL
 SELECT 'Month' AS truncType, TRUNC( SYSDATE, 'MM' ) FROM DUAL
 UNION ALL
 SELECT '1DayOfWeek' AS truncType, TRUNC( SYSDATE, 'D' ) FROM DUAL
 UNION ALL
 SELECT 'Hour' AS truncType, TRUNC( SYSDATE, 'HH' ) FROM DUAL;

另Connect by: 

 with x as 
    ( select 'aa' chr from dual 
    union all 
    select 'bb' chr from dual) 
    select level ,chr,lpad( ' ' ,( level - 1 )* 5 , '-' )||chr other from x connect by level <= 3 ;
SELECT TO_CHAR(ADD_MONTHS(SYSDATE, -LEVEL + 1), 'YYYY-MM') MONTH,
       TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -LEVEL + 1)), 'DD') DAY
  FROM DUAL
CONNECT BY LEVEL <= 12;

 ALL_SOURCE,user_objects...

SELECT * FROM ALL_SOURCE  where TYPE='PROCEDURE'  AND UPPER(TEXT) LIKE '%XXX%';

SELECT * FROM USER_SOURCE where TYPE='PROCEDURE'  AND UPPER(TEXT) LIKE '%XXX%';

select * from all_objects
where owner = 'XX' and object_name like '%XXXX%'
AND OBJECT_type ='PROCEDURE'
ORDER BY created DESC;

select * from user_objects
where  object_name like '%XXXXX%'
AND OBJECT_type ='PROCEDURE'
ORDER BY created DESC;

猜你喜欢

转载自kavinhub.iteye.com/blog/2004487