189 8069 5689

oracle如何判断平年,oracle判断平年和闰年的代码

oracle用存储过程实现对输入的日期判断是属于一年中的第几周,如20120101~20120107是

create or replace procedure p_1(intime varchar)

创新互联一直通过网站建设和网站营销帮助企业获得更多客户资源。 以"深度挖掘,量身打造,注重实效"的一站式服务,以网站设计制作、成都网站建设、移动互联产品、营销型网站建设服务为核心业务。10年网站制作的经验,使用新网站建设技术,全新开发出的标准网站,不但价格便宜而且实用、灵活,特别适合中小公司网站制作。网站管理系统简单易用,维护方便,您可以完全操作网站资料,是中小公司快速网站建设的选择。

is

outweek varchar2(32767);

begin

select ceil(to_char(to_date(intime,'YYYY-MM-DD'),'DDD')/7) into outweek from dual;

dbms_output.put_line('输入的日期是第' || outweek || '周');

end;

/

调用:

set serveroutput on;

exec p_1(’2012-01-07‘);

exec p_1(’2012-01-08‘);

oracle pl/sql 判断一个年份是不是闰年

sql语句提示用户交互输入方式:

select case

when (mod(year, 4) = 0 and mod(year, 100) != 0) or (mod(year, 400) = 0) then

'yes'

else

'no'

end RESULT

from dual;

存储过程方式:

create or replace procedure pro_check_year(year in number)

as

v_mod1 number(4) :=mod(year,4);

v_mod2 number(4) :=mod(year,100);

v_mod3 number(4) :=mod(year,400);

begin

if ((v_mod1=0 and v_mod20) or v_mod3=0) then

dbms_output.put_line(year||' yes ');

else dbms_output.put_line(year||' no ');

end if;

exception

when others then

dbms_output.put_line(sqlerrm);

end pro_check_year;

Oracle 函数,知道的可以帮忙下吗?

CREATE OR REPLACE FUNCTION IS_LEAP_YEAR(IN_YEAR_STRING VARCHAR2)

RETURN NUMBER IS

--加个输入参数

YEAR_DATE VARCHAR2(8);

--V_DATE    DATE;

BEGIN

--V_TEST_DATE := TO_CHAR(1900) || '0229';

--V_TEST_DATE := IN_YEAR_STRING;

--V_DATE := TO_DATE(V_TEST_DATE, 'yyyymmdd');

--RETURN 1;

YEAR_DATE := IN_YEAR_STRING;

IF MOD(YEAR_DATE, 4)  0 THEN

LEAP := FALSE;

ELSIF MOD(YEAR_DATE, 100)  0 THEN

LEAP := TRUE;

ELSIF MOD(YEAR_DATE, 400)  0 THEN

LEAP := FALSE;

ELSE

LEAP := TRUE;

END IF;

IF LEAP THEN

DBMS_OUTPUT.PUT_LINE(YEAR_DATE || '是闰年');

RETURN 1;

ELSE

DBMS_OUTPUT.PUT_LINE(YEAR_DATE || '是平年');

RETURN 0;

END IF;

EXCEPTION

WHEN OTHERS THEN

RETURN 2;

END;

看不懂你的意思,,,自己写了个


网站名称:oracle如何判断平年,oracle判断平年和闰年的代码
转载源于:http://cdxtjz.com/article/hdcehe.html

其他资讯