oracle 获取指定日期所在月的每天

来源:互联网 发布:淘宝钱夫人雪梨微博 编辑:程序博客网 时间:2024/04/28 03:27

oracle 输出指定日期所在月的每天

SELECT TRUNC(SYSDATE, 'MM') + ROWNUM - 1 everyday
   FROM DUAL
CONNECT BY ROWNUM <= TO_NUMBER(TO_CHAR(LAST_DAY(SYSDATE), 'dd'))

输出每天最后10个纪录

SELECT *
  FROM (SELECT a.*,ROW_NUMBER() OVER(PARTITION BY TRUNC(vt_sysdate) ORDER BY vt_sysdate desc) rn
          FROM B_VEH_TRACK201502 a)
 WHERE rn <= 10

 

  --Oracle trunc()函数的用法
/**************日期********************/

返回本世纪第一天 2001-1-1

select trunc(sysdate, 'SCC') from dual

select trunc(sysdate, 'CC') from dual

返回本年度第一天 2015-1-1【syear或year或yyyy或yyy或yy或y,多个y表示精度】

select trunc(sysdate,'yyyy') from dual

返回本季度第一天 2015-1-1

select trunc(sysdate,'q') from dual

返回本月份第一天  2015-2-1【month或mon或mm或rm】

select trunc(sysdate, 'mm')   from   dual 

返回本月份最后一天  2015-2-28

select trunc(LAST_DAY(sysdate), 'dd') from dual

返回本周第1天(星期天)  2015-2-1【day或dy或d (周顺序:日,一,二,三,四,五,六)】

select trunc(sysdate,'day') from dual 

返回本周第2天(本周一)

select trunc(sysdate, 'iw') from dual

返回本周日(即下周第一天)  2015-2-1【day或dy或d (周顺序:日,一,二,三,四,五,六)】

select trunc(sysdate, 'day') + 7 from dual

返回当前年月日 2015-2-3【dd或空】
select trunc(sysdate,'dd') from dual 

select trunc(sysdate) from dual

返回当前小时部分 2015-2-3 16:00:00【hh24或hh】

select trunc(sysdate, 'hh24') from dual 

返回当前分钟部分 2015-2-3 16:19:00

select trunc(sysdate, 'mi') from dual 

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

0 0
原创粉丝点击