zoukankan      html  css  js  c++  java
  • sql 工具类function

    --判断是否为整数
    create or replace function is_number(param VARCHAR2) return NUMBER is
      v_num NUMBER;
    begin
      v_num := to_number(NVL(param,'a'));
      RETURN 0;
    EXCEPTION
      WHEN OTHERS THEN
        RETURN 1;
    end is_number; 
    
    --判断是否为日期类型
    create or replace function is_date(param VARCHAR2) return NUMBER  is
      v_date Date;
    begin
      v_date := TO_DATE(NVL(param, 'a'), 'yyyy-mm-dd hh24:mi:ss');
      RETURN 0;
    EXCEPTION
      WHEN OTHERS THEN
        RETURN 1;
    end is_date;
    
    --去除空格
    create or replace function getStringValue(text IN varchar2) RETURN varchar2 IS
    begin
       RETURN to_single_byte(replace(text, ' ', '')) ;
    EXCEPTION
       WHEN NO_DATA_FOUND THEN
         RETURN '';
        WHEN OTHERS THEN
         RETURN '';
    end getStringValue;
    
    ----
    create or replace function getWzkf(wzkf IN varchar2) RETURN varchar2 IS
    v_wzkf varchar2(10) ;
    begin
       --去掉去掉两头空格
       v_wzkf := ltrim(rtrim(wzkf)) ;
       IF v_wzkf = ''
       THEN
          SELECT REPLACE(v_wzkf,'','0') into v_wzkf  FROM dual;
       ELSIF  v_wzkf = '/'
       THEN
              SELECT REPLACE(v_wzkf,'/','0') into v_wzkf  FROM dual;
       ELSIF  v_wzkf IS NULL
       THEN
             v_wzkf := '0' ;
       ELSE
              SELECT REPLACE(v_wzkf,'','') into v_wzkf  FROM dual;
        END IF;
       RETURN v_wzkf ;
    EXCEPTION
       WHEN NO_DATA_FOUND THEN
         RETURN '';
        WHEN OTHERS THEN
         RETURN '';
    end getWzkf;
    
    ---
    create or replace function specDate(wzkf IN varchar2) RETURN varchar2 IS
    v_wzkf varchar2(10) ;
    cLength number;
    v_date date ;
    begin
    
        v_wzkf := replace(replace(replace(wzkf,'', '-'),'','-'),'',' ') ;
        v_wzkf := ltrim(rtrim(v_wzkf)) ;
        v_wzkf := replace(v_wzkf,'/','-') ;
        v_wzkf := replace(v_wzkf,'.','-') ;
    
        select length(v_wzkf) into cLength from dual;
        if(cLength=8 and instr(v_wzkf,'-')<1 )
            THEN
            SELECT substr(v_wzkf, 1,4 )||'-'||substr(v_wzkf, 5,2 )||'-'||substr(v_wzkf, 7,2 ) into v_wzkf FROM dual;
        END IF ;
    
    --    v_date := to_char(to_date(v_wzkf,'yyyy-mm-dd'),'yyyy-mm-dd') ;
        RETURN to_char(to_date(v_wzkf,'yyyy-mm-dd'),'yyyy-mm-dd') ;
    
    EXCEPTION
       WHEN NO_DATA_FOUND THEN
         RETURN  '@@@111';
        WHEN OTHERS THEN
         RETURN  '@@@222';
    
    end specDate;
    ---
    select instr('ewew点e',''from dual
  • 相关阅读:
    [cf1097F]Alex and a TV Show
    [cf1097E]Egor and an RPG game
    2.2 物理层下面的传输媒体
    2.1 物理层的基本概念
    8 垃圾回收
    7 直接内存
    6 方法区
    1.5 计算机网络体系结构
    1.4 计算机网络的性能指标
    1.3 计算机网络的定义和分类
  • 原文地址:https://www.cnblogs.com/yy123/p/5274829.html
Copyright © 2011-2022 走看看