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;

时间: 2024-08-02 02:10:57

Oracle常用的日期函数的相关文章

GROUP BY和HAVING 以及mysql中常用的日期函数

一.mysql中的GROUP BY和HAVINGGROUP BY常见的是和聚合函数(SUM,MIN,MAX,COUNT)搭配使用. 比如:SELECT category,SUM(money) AS `total` FROM user_money GROUP BY category;按类别分组统计user_money表每个类别总计有多少money 现在如果增加个条件,需要统计每个类别中支出的money总量,比如rule=1为支出,则改写语句为SELECT category,SUM(money) A

Sybase常用时间日期函数

Sybase日期函数日期函数getdate()得到当前时间,可以设置得到各种时间格式.datepart(日期部分,日期)取指定时间的某一个部分,年月天时分秒.datediff(日期部分,日期1,日期2)计算指定的日期1和日期2的时间差多少.dateadd(日期部分,数值表达式,日期)计算指定时间,再加上表达式指定的时间长度. --取时间的某一个部分select datepart(yy,getdate()) --yearselect datepart(mm,getdate()) --monthse

Oracle 常用的单行函数

数值函数: 1.round:返回四舍五入后的值 round(数字,参数) 参数不写默认为0 后面的参数指定了返回值的精度,或者说是从小数点第几位开始四舍五入,如果不带后面的参数,则默认为四舍五入取整数.精度截取以小数点为分界线,正数表示从以左到右截取并四舍五入,负数表示从右往左截取并四舍五入,精度值可以为小数. select round(1992.54, 1) from dual; select round(1992.54) from dual; select round(1992.54, -1

oracle中的日期函数的使用

TO_DATE格式(以时间:2007-11-02   13:45:25为例) Year:               yy two digits 两位年                显示值:07         yyy three digits 三位年                显示值:007         yyyy four digits 四位年                显示值:2007 Month:               mm    number     两位月     

oracle常用关键字和函数

数据库的增删改查: 增:insert into ... values(); 例:insert into p_emp values(sq_emp.nextval,'小白','保洁',7902,sysdate,600,null,30,0); commit; 注意,表里边有多少列,values()里边的内容就有多少,一一对应关系.后边加分号结束语句,然后commit:提交. 自增长序列:右击Sequences,new一个新的自增序列,起一个name,然后有一个nextval属性,实现自增长. 查:se

【小计】PostgreSQL实现Oracle的trunc日期函数功能

create or replace function trunc(p_timestamp timestamp with time zone, p_formart varchar default 'DD')  returns timestamp without time zone as $$ declare  v_timestamp timestamp := null;  v_formart varchar(10) := upper(p_formart); begin  /*  * 函数功能:对日

sql常用的日期函数与应用

--本周第一天 SELECT DATEADD(Day,1-(DATEPART(Weekday,getdate())+@@DATEFIRST-1)%7,getdate()) --or select dateadd(wk, datediff(wk,0,getdate()), 0) --本周第一天 select dateadd(wk, datediff(wk,0,getdate()), 6) --上月第一天 SELECT CONVERT(CHAR(10),DATEADD(month,-1,DATEAD

oracle 中的日期函数

sysdate [功能]:返回当前日期. [参数]:没有参数,没有括号 [返回]:日期 2 add_months(d1,n1) [功能]:返回在日期d1基础上再加n1个月后新的日期. [参数]:d1,日期型,n1数字型 [返回]:日期 3 last_day(d1) [功能]:返回日期d1所在月份最后一天的日期. [参数]:d1,日期型 [返回]:日期 4 months_between(d1,d2) [功能]:返回日期d1到日期d2之间的月数. [参数]:d1,d2 日期型 [返回]:数字如果d1

Oracle常用SQL时间函数

1.查询当前日期和时间 select sysdate from dual; 2.查询本月最后一天 select last_day(sysdate) from dual; 3.查询前后多少月 select add_months(sysdate,24) from dual; 4.查询下一周的星期几的具体日期(周日-周六:1-7) select next_day(sysdate,1) from dual; 5.时间转时间 select to_char(sysdate,'YYYY-MM-DD HH:MI