CREATE OR REPLACE Package Pkg_Stm_Date As
    --Purpose:相关日期处理功能包
    
    --获取某一天是第几周
    Function Fn_GetWeekbyDate(P_Date Varchar2) Return Varchar2;     --获取某一天是第几周
    Function Fn_GetWeekbyDate(P_Date Date) Return Varchar2;     --获取某一天是周几
    Function Fn_GetWeekDaybyDate(P_Date Varchar2) Return Varchar2;     --获取某一天是周几
    Function Fn_GetWeekDaybyDate(P_Date Date) Return Varchar2;
    
    --获取该日期所在的周是单周还是双周
    Function Fn_GetWeekTypeByDate(P_Date Varchar2) Return Pls_Integer;
    
    --根据查询日期,获取该日期所在的星期的星期一对应的日期
    Function Fn_GetMonDayByDate(P_Date Varchar2) Return Varchar2;   
   
    --获取连续的日期列表,返回游标类型
    Function Fn_GetDateList(P_StartDate Varchar2, P_EndDate Varchar2) Return Sys_refcursor;
   
    --获取连续的日期列表,返回结果集
    Function Fn_GetDateTable(P_StartDate Varchar2, P_EndDate Varchar2) Return TblTyp_Var Pipelined;
   
    --获取当天日期
    Function Fn_GetCurrentDate Return Varchar2;
    
    --获取当前日期和时间
    Function Fn_GetCurrentDateTime Return Varchar2;
    
    --获取数字型当前日期和时间
    Function Fn_GetNumbericCurrentDateTime Return Varchar2;
      
    --获取当年的第一天
    Function Fn_GetCurrentYearStartDate Return Varchar2;
   
    --获取当年的最后一天
    Function Fn_GetCurrentYearEndDate    Return Varchar2;
    
    --获取当前时间
    Function Fn_GetCurrentTime Return Varchar2;
End Pkg_Stm_Date; CREATE OR REPLACE Package Body Pkg_Stm_Date As
--Author:chenqingchang
--Purpose:相关日期处理功能包 --获取某一天是第几周
Function Fn_GetWeekbyDate(P_Date Varchar2) Return Varchar2
Is
Begin
Return To_char(To_Date(P_Date,'yyyy-mm-dd'),'fmiw');
End Fn_GetWeekbyDate; --获取某一天是第几周
Function Fn_GetWeekbyDate(P_Date Date) Return Varchar2
Is
Begin
Return To_Char(P_Date,'fmiw');
End Fn_GetWeekbyDate; --获取某一天是周几
Function Fn_GetWeekDaybyDate(P_Date Varchar2) Return Varchar2
Is
Begin
Return to_char(To_Date(P_Date,'yyyy-mm-dd'),'day','nls_date_language=''simplified chinese''');
End Fn_GetWeekDaybyDate; --获取某一天是周几
Function Fn_GetWeekDaybyDate(P_Date Date) Return Varchar2
Is
Begin
Return to_char(P_Date,'day','nls_date_language=''simplified chinese''');
End Fn_GetWeekDaybyDate; --获取该日期所在的周是单周还是双周
Function Fn_GetWeekTypeByDate(P_Date Varchar2) Return Pls_Integer
Is
Begin
Return Mod(Pkg_Stm_Date.Fn_GetWeekbyDate(P_Date), 2);
End Fn_GetWeekTypeByDate; --根据查询日期,获取该日期所在的星期的星期一对应的日期
Function Fn_GetMonDayByDate(P_Date Varchar2) Return Varchar2
Is
L_MonDayByDate Varchar2(19);
Begin
Select to_char(trunc(to_date(P_Date,'yyyy-mm-dd'),'iw') ,'yyyy-mm-dd')
Into
L_MonDayByDate
From dual; Return L_MonDayByDate;
End Fn_GetMonDayByDate; --获取日期列表,返回游标类型
Function Fn_GetDateList(P_StartDate Varchar2, P_EndDate Varchar2) Return Sys_refcursor
Is
L_CurDate Sys_refcursor; Begin
Open L_CurDate For
Select TO_DATE(P_StartDate, 'YYYY-MM-DD') + NUMTODSINTERVAL(Level, 'day') thisDate
From dual
Connect By Level <= To_Date(P_EndDate,'yyyy-mm-dd') - To_Date(P_StartDate, 'yyyy-mm-dd'); Return L_CurDate;
End Fn_GetDateList; --返回日期列表,以表数据方式显示可以进行表关联
Function Fn_GetDateTable(P_StartDate Varchar2, P_EndDate Varchar2) Return TblTyp_Var Pipelined
Is
L_StartDate Varchar2(20) := '';
Begin
Select to_Char(to_Date(P_StartDate,'yyyy-mm-dd') - 1,'yyyy-mm-dd')
Into L_StartDate
From dual; For dateRow In
(
Select TO_DATE(L_StartDate, 'yyyy-mm-dd') + NUMTODSINTERVAL(Level, 'day') thisDate
From dual
Connect By Level <= To_Date(P_EndDate,'yyyy-mm-dd') - To_Date(L_StartDate, 'yyyy-mm-dd')
) loop
Pipe Row(to_char(dateRow.thisDate,'yyyy-mm-dd'));
End Loop; Return;
End Fn_GetDateTable; --获取当天日期
Function Fn_GetCurrentDate Return Varchar2
Is
L_CurrentDate Varchar2(19);
Begin
Select to_char(SysDate,'yyyy-MM-dd')
Into L_CurrentDate
From dual; Return L_CurrentDate;
End Fn_GetCurrentDate; --获取当前日期和时间
Function Fn_GetCurrentDateTime Return Varchar2
Is
Begin
Return To_Char(SysDate, 'yyyy-mm-dd hh:mm:dd');
End Fn_GetCurrentDateTime; --生成数字型的当前日期和时间
Function Fn_GetNumbericCurrentDateTime Return Varchar2
Is
Begin
Return Replace(Replace(Pkg_Stm_Date.Fn_GetCurrentDateTime(),'-', ''),':', '');
End Fn_GetNumbericCurrentDateTime; --获取当年的第一天
Function Fn_GetCurrentYearStartDate Return Varchar2
Is
L_CurrentYearStartDate Varchar2(19);
Begin
Select to_Char(trunc(SysDate,'yyyy'),'yyyy-mm-dd')
Into L_CurrentYearStartDate
From dual; Return L_CurrentYearStartDate;
End Fn_GetCurrentYearStartDate; --获取当年的最后一天
Function Fn_GetCurrentYearEndDate Return Varchar2
Is
L_CurrentYearEndDate Varchar2(19);
Begin
Select to_char(add_months(trunc(sysdate,'yyyy'),12) - 1,'yyyy-mm-dd')
Into L_CurrentYearEndDate
From dual; Return L_CurrentYearEndDate;
End Fn_GetCurrentYearEndDate; --获取当前时间
Function Fn_GetCurrentTime Return Varchar2
Is
Begin
Return To_Char(SysDate,'HH24:MI:SS');
End Fn_GetCurrentTime; End Pkg_Stm_Date;

Oracler读取各种格式的相关日期格式的更多相关文章

  1. eclipse/MyEclipse 日期格式、注释日期格式、时区问题

    eclipse/MyEclipse 日期格式.注释日期格式.时区问题 在eclipse/MyEclipse中,如果你的注释或是运行System.out.print(new java.util.Date ...

  2. js 将long日期格式 转换为标准日期格式方法

    我们经常在操作的时候会发现从后台传递到view层的json中datetime类型变成了long型,当然你也可以从后台先转为string类型,但是如果是从和数据库对应的object中封装的话,就不能再去 ...

  3. oracle日期格式和java日期格式区别 HH24:mm:ss和HH24:mi:ss的区别

    转载自:https://blog.csdn.net/yubin_yubin/article/details/18655553 在日期数据库数据查询出来的时候经常会to_char()一下,格式化一下日期 ...

  4. 给Nginx配置日志格式和调整日期格式

    效果对比 官方默认日志格式 # 官方默认日志格式 log_format main '$server_name $remote_addr - $remote_user [$time_local] &qu ...

  5. java读取excel或者csv时日期格式数据处理

    背景:最近写一个通过excel批量导入数据的功能,里面含有时间,但是java读取之后把时间转为了距离1990年1月1号的天数,比如excel中时间为2018/9/16 18:30,java读取之后变成 ...

  6. C# 读取Excel 单元格是日期格式

    原文地址:https://www.cnblogs.com/liu-xia/p/5230768.html DateTime.FromOADate(double.Parse(range.Value2.To ...

  7. js/ts/tsx读取excel表格中的日期格式转换

    const formatDate = (timestamp: number) => { const time = new Date((timestamp - 1) * 24 * 3600000 ...

  8. js将long日期格式转换为标准日期格式

    <script language="javascript"> //扩展Date的format方法 Date.prototype.format = function (f ...

  9. eclipse/MyEclipse 日期格式、注释日期格式、时区问题[转]

    http://www.cnblogs.com/hoojo/archive/2011/03/21/1990070.html 在eclipse/MyEclipse中,如果你的注释或是运行System.ou ...

随机推荐

  1. Hadoop 2.6.0编译on mac

    花了一个晚上的时间弄了下hadoop的编译环境,碰到些错误,这里保存下. 需要编译Hadoop,不但需要安装Maven,还需要安装protobuf 安装Maven 下载:apache-maven-3. ...

  2. Codeforces 161D

    树形DP: 要求找出树上距离为k的点的对数: 对于每个节点,经过这个节点的符合条件的的点有两种: 第一种:距离他为i的儿子和他爸爸中距离他爸爸为k-i-1:(不是符合的点对中的一个) 第二种:他儿子中 ...

  3. uva 10130 SuperSale

    一个01背包问题: 刚刚开始把题目看错了,以为物品的数目是有限的,然后让你求一个家庭里最多能够拿多个价值的东西: 这样一来的话,这个题目就有点意思了: 但是后来发现竟然是个简单的01背包问题 =  = ...

  4. Jsp中获得集合List或Set的长度

    首先要引入<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions"%> ...

  5. translate函数使用

    SQL> select data,translate(data,'0123456789','##########') as num1, replace(translate(data,'01234 ...

  6. Spring - Sring MVC入门

    2.1.Spring Web MVC是什么 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职 ...

  7. Linux Shell编程(25)——I/O 重定向

    默认情况下始终有3个"文件"处于打开状态, stdin (键盘), stdout (屏幕), and stderr (错误消息输出到屏幕上). 这3个文件和其他打开的文件都可以被重 ...

  8. 【转】MFC中调试过程中查看输出信息 -- 不错

    原文网址:http://blog.sina.com.cn/s/blog_4e24d9c501014o39.html 笔记&&方便查阅. ~~~~~~~~~~~~~~~~~~~~~~~~ ...

  9. STM32F072B-DISCO 深入研究 USB系统

    调试USB例题需要用到2个上位机程序: PC端HID交互程序,提供了VC源程序. 图形方式的按钮输入.LED输出操作: 总线扑捉器: main程序初始化部分很简单: /* Initialize USB ...

  10. HDOJ 1716 排列2(next_permutation函数)

    Problem Description Ray又对数字的列产生了兴趣: 现有四张卡片,用这四张卡片能排列出很多不同的4位数,要求按从小到大的顺序输出这些4位数. Input 每组数据占一行,代表四张卡 ...