欢迎光临
我们一直在努力

Oracle常用的日期函数

–1、LAST_DAY函数:求指定日期所在月份的最后一天

SELECT LAST_DAY(TO_DATE(‘2014-12-02’,‘YYYY-MM-DD’)) FROM DUAL;

–2、求指定日期是周几

SELECT TO_CHAR(TO_DATE(‘1989-01-05’,‘YYYY-MM-DD’),‘DAY’) FROM DUAL;

–3、求指定日期是本年的第几周

SELECT TO_CHAR(TO_DATE(‘1989-01-05’,‘YYYY-MM-DD’),‘WW’) FROM DUAL;

–4、求指定日期是本月的第几周

SELECT TO_CHAR(TO_DATE(‘1989-01-05’,‘YYYY-MM-DD’),‘W’) FROM DUAL;

–5、MONTHS_BETWEEN函数:用以求两个日期间隔的月份数,结果有可能是小数

SELECT MONTHS_BETWEEN(TO_DATE(‘1989-02-06’,‘YYYY-MM-DD’),TO_DATE(‘1989-01-05’,‘YYYY-MM-DD’)) FROM DUAL;

–6、NEXT_DAY函数,第二个参数1代表下一个周日,2代表周一……6代表周五,7代表周六/也可以使用Monday-Sunday或者简写/ Mon-Sun

SELECT NEXT_DAY(SYSDATE,‘2’) FROM DUAL;

说明:如果使用MONDAY方式参数,需要首先修改日期语言格式

ALTERSESSIONSET NLS_DATE_LANGUAGE=‘AMERICAN’;

SELECT NEXT_DAY(SYSDATE,‘MONDAY’) FROM DUAL;

中文语言格式下,也可以使用星期几的方式进行查询

ALTERSESSIONSET NLS_DATE_LANGUAGE=‘SIMPLIFIED CHINESE’;

SELECT NEXT_DAY(SYSDATE,星期日’) FROM DUAL;

–7、ADD_MONTHS函数:增加月份求日期

SELECT ADD_MONTHS(TO_DATE(‘2000-01-29’,‘YYYY-MM-DD’),365) FROM DUAL;

–8、TREUC函数:截断到最接近的日期,单位为天 ,返回的是日期类型,如果日期包含时分秒则忽略;

SELECT TRUNC(TO_DATE(‘1989-01-05 11:27:35’,‘YYYY-MM-DDHH24:MI:SS’)) FROM DUAL;

–9、ROUND函数:指定日期如果超过当月15日,则显示下个月1日,否则显示本月1日

SELECT ROUND(TO_DATE(‘2000-01-09’,‘YYYY-MM-DD’),‘MONTH’) FROM DUAL;

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。