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. java子类实例初始化过程

    子类的实例化主要分为两个步骤: <1>.类相关静态内容 初始化: *先父类再子类:  1.父类的static属性:   2.父类的static块:   3.子类的static属性:   4 ...

  2. Struts2技术内幕----深入解析Struts2架构与设计(一)

    Struts2的核心入口程序,从功能上来说必须能够处理Http请求,这是表示层框架的基本要求.为了达到这一目的,Struts2毫无例外地遵循了Servlet标准,通过实现标准的Filter接口来进行H ...

  3. mvc action 参数绑定——值提供器【学习笔记】

    每次http请求的各种数据(表单数据.url的数据.路由数据等等)都保存在不同的IValueProvider接口的实现类中. 而IValueProvider接口的实现类是通过ValueProvider ...

  4. bzoj 1486: [HNOI2009]最小圈 dfs求负环

    1486: [HNOI2009]最小圈 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1022  Solved: 487[Submit][Status] ...

  5. Werkzeug教程

    http://chaoxz2005.blog.163.com/blog/static/15036542012863405266/ http://www.dajo.com.cn/a/boke/pytho ...

  6. C语言嵌入式系统编程修炼之三:内存操作

    数据指针 在嵌入式系统的编程中,常常要求在特定的内存单元读写内容,汇编有对应的MOV指令,而除C/C++以外的其它编程语言基本没有直接访问绝对地址的能力.在嵌入式系统的实际调试中,多借助C语言指针所具 ...

  7. java多线程 ReentrantLock

    本章对ReentrantLock包进行基本介绍,这一章主要对ReentrantLock进行概括性的介绍,内容包括:ReentrantLock介绍ReentrantLock函数列表ReentrantLo ...

  8. Solr 多核(MultiCore)配置

    Solr Multicore意义        Solr Multicore 是 solr 1.3 的新特性.其目的一个solr实例,可以有多个搜索应用.< xmlnamespace prefi ...

  9. 【转】VMware 11安装Mac OS X 10.10 及安装Mac Vmware Tools.

    原文网址:http://www.cnblogs.com/Anand/p/4483727.html 先上一张效果图兴奋一下,博主穷屌丝一个,只能通过虚拟黑苹果体验下高富帅的生活,感觉超爽的,废话不多说的 ...

  10. 使用Spring-data-redis操作Redis的Sentinel

    介绍 Spring-Data-Redis项目(简称SDR) 是对Redis的Key-Value数据存储操作提供了更高层次的抽象,提供了一个对几种主要的redis的Java客户端(例 如:jedis,j ...