oracle使用to_date查询一周的第一天日期_oracle

周使用IW方式计算,如果一年当中第52周别之后至当年的12月31日之间,还有大于或等于4天的话,则定为当年的第53周,否则剩余这些天数被归为下一年的第1周

复制代码 代码如下:

CREATE OR REPLACE FUNCTION f_week_to_date(a_week varchar2) RETURN CHAR IS 
  v_first_date   char(10); 
  v_date_of_week number(1); 

BEGIN 
  select to_char(to_date(substr(a_week, 1, 4) || '0101', 'yyyymmdd'), 'D') 
    into v_date_of_week 
    from dual; 
  v_date_of_week := v_date_of_week - 1; 
  if v_date_of_week <= 4 then 
    select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') + 
                   SUBSTR(a_week, 5, 2) * 7 - 7 - v_date_of_week + 1, 
                   'yyyy-mm-dd') 
      into v_first_date 
      from dual; 
  else 
    select TO_CHAR(TO_DATE(SUBSTR(a_week, 1, 4) || '0101', 'yyyymmdd') + 
                   SUBSTR(a_week, 5, 2) * 7  - v_date_of_week + 1, 
                   'yyyy-mm-dd') 
      into v_first_date 
      from dual; 
  end if; 

  return v_first_date; 

END;

时间: 2024-09-22 12:55:45

oracle使用to_date查询一周的第一天日期_oracle的相关文章

oracle跨库查询dblink的用法实例详解_oracle

本文实例讲述了oracle跨库查询dblink的用法.分享给大家供大家参考,具体如下: 1.创建之前的工作 在创建dblink之前,首先要查看用户是否有相应的权限.针对特定的用户,使用 sqlplus user/pwd登录后,执行如下语句: 复制代码 代码如下: select * from user_sys_privs t where t.privilege like upper('%link%'); 在sys用户下,显示结果为: SYS CREATE DATABASE LINK NO SYS

Oracle跨数据库查询并插入实现原理及代码_oracle

工作中需要从一个数据库中的表GIS_WEICHAI_DATA_1S中的数据导入到另个一数据库的表GIS_WEICHAI_DATA_1S中,数据库服务器都是远程的<IP分别为: 221.131.228.256 211.161.192.46>!我的实现方法是在本地使用PL/SQL操作两个远程服务器,实现方式如下: 1. 为你需要操作的远程数据库服务器建立本地服务名: 在本地数据库安装文件中,找到$ORACLE_HOME/network/admin/tnsnames.ora文件, 末尾添加 复制代码

Oracle中TO_DATE函数使用方法详解

一.在使用Oracle的to_date函数来做日期转换时,很多Java程序员也许会直接的采用"yyyy-MM-dd HH:mm:ss"的格式作为格式进行转换,但是在Oracle中会引起错误:"ORA 01810 格式代码出现两次".如: select to_date('2005-01-01 13:14:20','yyyy-MM-dd HH24:mm:ss') from dual;  原因是SQL中不区分大小写,MM和mm被认为是相同的格式代码,所以Oracle的SQ

oracle listagg函数查询出来显示空白

问题描述 oracle listagg函数查询出来显示空白 select listagg(**tr_mer_no** || tr_id, ' ') within group( order by tr_id desc) from ccps_traderecord where tr_mer_no = 140102 and tr_id < 20 select listagg(**tr_currency **|| tr_id, ' ') within group( order by tr_id desc

关于oracle的数据查询问下大家

问题描述 关于oracle的数据查询问下大家 表table里面有 ID 和字段 A,字段A里有值:a.b.c.d 现在要查询id,但是条件要包含字段A里面的a.b.c.d4个值, 那么该怎样写. 解决方案 Oracle 百万行数据查询优化oracle 查询前30条数据Oracle 查询出来的数据取第一条

php连接oracle数据库及查询数据的方法_php技巧

本文实例讲述了php连接oracle数据库及查询数据的方法.分享给大家供大家参考.具体分析如下: php有强大的功能不但可以支持mysql,mssql,mysqli之个我们还可以与oracle数据连接,要让php支持oracle非常的简单我们只要把php.ini中的;extention = php_oci8.dll分号去掉即可. php支持oracle连接函数 php.ini文件中的配置,去掉 ;extention = php_oci8.dll,去掉前面的分号,重启apache就可以了,如果不行

oracle数据库分页查询实例小结

Oracle的分页查询语句基本上可以按照本文给出的格式来进行套用.   分页查询格式:  代码如下 复制代码 SELECT * FROM ( SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40 ) WHERE RN >= 21   其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句.ROWNUM <= 40和RN >= 21控制分页查询的每页的

Github热度周排行第一,阿里Java规约插件开发之路曝光

大家好,我是研发效能事业部-天基-应用与基础运维平台的骏烈,集团编码规约P3C项目IDE插件主要开发者,家有一只小边牧,叫骏骨. 10月14号,云栖大会研发效能专场,<阿里巴巴Java开发手册>IDE插件(包括PMD规则实现库)正式对外开源,并且迅速占领Github开源热度周排行榜第一的位置,作为项目组的一员,看到业界对该项目的关注及认可,发自内心的高兴.高兴之余,分享一下在整个过程中的一些心得体会. 如果把每个人当成是一个分支,那么从我个人的分支视角而言,P3C经历了规则实现.IDEA集成.

服务器-oracle千万级查询速度问题

问题描述 oracle千万级查询速度问题 一个2.3w的服务器,现有数据1500w左右,按月分区,大约有10几个分区. 查询两个一个上月的数据,查询时间在100s多,客户直接受不了了,是否可以秒开? 如何优化? 解决方案 为什么要一次性返回全部数据呢?那样当然慢,可以分页.另外,你是怎么查询的,有没有对条件加上索引. 解决方案二: 把一些常用数据放cache,内存中.查询数据库就刷新内存.这样只有第一个慢. 解决方案三: 你可以利用oracle的分批次查询,比如:SELECT * FROM (