记录达梦库定义DATE_FORMAT脚本

create or replace FUNCTION                 DATE_FORMAT(date1 varchar2, yangshi varchar2)  
    RETURN varchar(30) 
    AS  
      format1 varchar(30);
      format2 varchar(30);
      format3 varchar(30);
      format4 varchar(30);
      format5 varchar(30);
      format6 varchar(30);
      format7 varchar(30);
      format8 varchar(30);
      format9 varchar(30);
      format10 varchar(30);
    BEGIN  
    -- 如果时间是NULL 则返回NULL 
    IF date1 IS NULL THEN  
      RETURN NULL;  
    END IF;  

    format1:='%Y-%m-%d %H:%i:%s';
    format2:='%Y-%m-%d %H:%i';
    format3:='%Y-%m-%d %H';
    format4:='%Y-%m-%d';
    format5:='%Y-%m';
    format6:='%Y';
    format7:='%m-%d %H:%i:%s';
    format8:='%m-%d %H:%i';
    format9:='%m-%d %H';
    format10:='%m-%d';
    -- 如果格式化样式为NULL 则返回日期本身
    IF yangshi IS NULL THEN
            RETURN date1;
    END IF;
    
    -- 如果时间以及格式化样式不为NULL 根据请求样式返回格式化后的日期 
    IF yangshi = format1 THEN
            RETURN to_char(date1,'YYYY-MM-DD hh24:mi:ss');
    END IF;
        IF yangshi = format2 THEN
            RETURN to_char(date1,'YYYY-MM-DD hh24:mi');
    END IF;
    IF yangshi = format3 THEN
            RETURN to_char(date1,'YYYY-MM-DD hh24');
    END IF;
    IF yangshi = format4 THEN
            RETURN to_char(date1,'YYYY-MM-DD');
    END IF;
    IF yangshi = format5 THEN
            RETURN to_char(date1,'YYYY-MM');
    END IF;
    IF yangshi = format6 THEN
            RETURN to_char(date1,'YYYY');
    END IF;
    IF yangshi = format7 THEN
            RETURN to_char(date1,'MM-DD hh24:mi:ss');
    END IF;
    IF yangshi = format8 THEN
            RETURN to_char(date1,'MM-DD hh24:mi');
    END IF;
    IF yangshi = format9 THEN
            RETURN to_char(date1,'MM-DD hh24');
    END IF;
    IF yangshi = format10 THEN
            RETURN to_char(date1,'MM-DD');
    END IF;
    END DATE_FORMAT;

猜你喜欢

转载自blog.csdn.net/weixin_59634280/article/details/129730840