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. 简单易懂, JUnit 框架问答

    本文算是一个关于Junit4相关的知识分享,但是不同于网上大段的源码分析,模式学习文章,我想通过问答的形式,引出代码来简明阐述JUnit4是如何实现需要的功能的. 考虑到任何一个框架,都是为了解决问题 ...

  2. [译]36 Days of Web Testing(二)

    Day 7: Http 和 Https Why? 当在网络上传输一些私人,敏感信息时,应该采用加密的手段来保证这些信息在传输的过程中不被侦测到.Https协议正是这种实现机制. Https是一种广泛使 ...

  3. BZOJ 3677 连珠线

    Description 在达芬奇时代,有一个流行的儿童游戏称为连珠线.当然,这个游戏是关于珠子和线的.线是红色或蓝色的,珠子被编号为\(1\)到\(n\).这个游戏从一个珠子开始,每次会用如下方式添加 ...

  4. Matlab绘图系列之高级绘图

    Matlab绘图系列之高级绘图 原帖地址: http://blog.163.com/enjoy_world/blog/static/115033832007865616218/ Matlab绘图 20 ...

  5. 【Java】整理关于java的String类,equals函数和比较操作符的区别

    初学 Java 有段时间了,感觉似乎开始入了门,有了点儿感觉但是发现很多困惑和疑问而且均来自于最基础的知识折腾了一阵子又查了查书,终于对 String 这个特殊的对象有了点感悟大家先来看看一段奇怪的程 ...

  6. 为了启动我在openshift的angular应用

    在Windows环境下搭建OpenShift环境,安装客户端工具rhc,首先需要安装Ruby和Git,参阅https://developers.openshift.com/en/getting-sta ...

  7. Principles of Motion Sensing

    Principlesof Motion Sensing Various sensors capable of detecting motionin free space have been comme ...

  8. Android 自定义dialog(AlertDialog的修改样式)

    LayoutInflater inflater = LayoutInflater(AudioActivity.this); View timepickerview = inflater.inflate ...

  9. [LeetCode#266] Palindrome Permutation

    Problem: Given a string, determine if a permutation of the string could form a palindrome. For examp ...

  10. Intervals(差分约束)

    http://poj.org/problem?id=1201 题意:给出N个整数区间[ai,bi],并且给出一个约束ci,( 1<= ci <= bi-ai+1),使得数组Z在区间[ai, ...