Oracle修改字段长度以及计算天数

时间:2020-12-07 14:40:04

sql修改字段长度的语法:

alter table 表名 modify 字段名 字段类型;

sql修改字段长度的示例代码

alter table qtline modify qtl_bidernote VARCHAR2(4000);

标准SQL,对任何数据库都适用

alter table fzrtmis.reporttemplate modify REPNAME varchar(100);

修改字段名名称

ALTER TABLE TABLENAME RENAME COLUMN COL1 TO COL2;

添加字段

alter table fzrtmis.itiembuildqk add STATIONSTATE CHAR(1)

分类: 数据库oracle

  

计算两个时间之前的天数:

select to_date('20110701','yyyy-mm-dd')-to_date('20050101','yyyy-mm-dd') from dual;
select to_date('20150730','yyyy-mm-dd')-to_date('20110701','yyyy-mm-dd') from dual;

  计算利息:

CREATE OR REPLACE PROCEDURE wyl_jsznj(pi_date_ks	IN VARCHAR2,--开始日期
pi_date_zj IN VARCHAR2,--中间时间
pi_date_js IN VARCHAR2, --结束时间
pi_benjin IN NUMBER,
po_fhz OUT VARCHAR2,
po_zje OUT NUMBER
) IS
v_cz1 NUMBER(5);--差值1
v_cz2 NUMBER(5);--差值2
v_jine2 NUMBER(10); --金额
v_jine2 NUMBER(10);
v_zje NUMBER(10);--总金额
BEGIN
v_jine := 0;
select (to_date(pi_date_zj,'yyyy-mm-dd')-to_date(pi_date_ks,'yyyy-mm-dd')) INTO v_cz1 from dual;
select (to_date(pi_date_js,'yyyy-mm-dd')-to_date(pi_date_zj,'yyyy-mm-dd')) INTO v_cz2 from dual;
FOR i IN 1 ..v_cz1 LOOP
pi_benjin := pi_benjin*(1+0.003);
END LOOP;
v_jine := pi_benjin;
FOR j IN 1 ..v_cz2 LOOP
v_jine := v_jine*(1+0.0005);
END LOOP;
po_zje := v_jine;
END;