Oracle学习笔记_10_判断是否为日期类型

简介:     FUNCTION isdate (datestr VARCHAR2, format VARCHAR2) RETURN number IS p_date DATE; BEGIN SELECT TO_DATE (datestr, format) ...

 

 

 

FUNCTION isdate (datestr VARCHAR2, format VARCHAR2) RETURN number IS
    p_date   DATE;
BEGIN
    SELECT TO_DATE (datestr, format)
    INTO p_date
    FROM DUAL;
    RETURN 1;
EXCEPTION
    WHEN OTHERS  THEN
       RETURN 0;
END;

 

 

 

 

多条件模糊查询时:

function get_date_str ( p_date varchar2) return varchar2 is
     v_date   date;
  begin

     if ( length(p_date) = 4 ) then
         select to_date (p_date, 'yyyy')
         into v_date
         from dual;
         return to_char( v_date ,'yy');
           
     elsif ( length(p_date) = 6 )then
         select to_date (p_date, 'yyyymm')
         into v_date
         from dual;
         return to_char( v_date ,'mm')  || '月-' ||  to_char( v_date,'yy');
         
     elsif ( length(p_date) = 7 )then
         select to_date (p_date, 'yyyy-mm')
         into v_date
         from dual;
         return to_char( v_date ,'mm')  || '月-' ||  to_char( v_date,'yy');             
         
     elsif ( length(p_date) = 8 ) then
         select to_date (p_date, 'yyyymmdd')
         into v_date
         from dual;
         return  to_char(v_date,'dd') || '-' || to_char( v_date,'mm')  || '月-' ||  to_char(v_date,'yy');

     elsif ( length(p_date) = 10 ) then
         select to_date (p_date, 'yyyy-mm-dd')
         into v_date
         from dual;
         return  to_char(v_date,'dd') || '-' || to_char( v_date,'mm')  || '月-' ||  to_char(v_date,'yy');
        
     end if;
     
     return '11-00月-00';
     
  exception
    when others then
       return '00-00月-00';
  end get_date_str;
View Code

 

 

附录:参考资料

1.oracle中判断是否为日期/number格式

 

目录
相关文章
|
SQL Oracle 关系型数据库
java往oracle存clob类型的值时,字符长度过长怎么办?
java往oracle存clob类型的值时,字符长度过长怎么办?
1366 1
|
SQL Oracle 关系型数据库
Oracle之日期计算相关函数
Oracle之日期计算相关函数
208 0
|
Oracle 关系型数据库 数据库
oracle日期加减的三种方式
【8月更文挑战第15天】在Oracle数据库中,可通过三种方式对日期进行加减操作:一是利用`ADD_MONTHS`函数增减月份,如`ADD_MONTHS(SYSDATE, 2)`表示两个月后;二是运用算术运算符直接加减天数,如`SYSDATE + 7`表示七天后;三是采用`INTERVAL`表达式增加或减少特定时间间隔,如`SYSDATE + INTERVAL '2' YEAR`表示两年后。这些方法可根据实际需求灵活选用。
4836 5
|
SQL Oracle 算法
|
Oracle 关系型数据库 MySQL
【YashanDB知识库】oracle dblink varchar类型查询报错记录
这篇文章主要介绍了 Oracle DBLINK 查询崖山 DB 报错的相关内容,包括 ODBC 安装配置、数据源配置、dblink 环境配置、问题原因分析及规避方法。问题原因是 dblink 连接其他数据库时 varchar 类型转换导致的,还介绍了 long 类型限制、char 等类型区别,规避方法是修改参数 MAX_STRING_SIZE 支持 32K。
|
Oracle 关系型数据库 数据库
【YashanDB知识库】oracle dblink varchar类型查询报错记录
在使用Oracle DBLink查询VARCHAR类型数据时,可能会遇到多种报错。通过了解常见错误原因,采取合适的解决方法,可以有效避免和处理这些错误。希望本文提供的分析和示例能帮助你在实际工作中更好地处理DBLink查询问题。
454 10
|
存储 Oracle 关系型数据库
关系型数据库Oracle备份类型与频率
【7月更文挑战第21天】
394 6
|
SQL Oracle 关系型数据库
关系型数据库Oracle备份类型
【7月更文挑战第18天】
354 2
|
SQL 数据采集 Oracle
实时计算 Flink版产品使用问题之如何读取oracle中的blob类型的数据
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
分布式计算 Oracle 关系型数据库
实时计算 Flink版产品使用问题之获取Oracle的数据时无法获取clob类型的数据,该怎么办
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

推荐镜像

更多
下一篇
开通oss服务