`

Oracle的SQL实现日期的功能

阅读更多
select case
         when (new_yweek = min(new_yweek)
               over(partition by mon order by new_yweek)) then
          mon_name
         else
          null
       end as month,
       new_yweek as yweek,
       row_number() over(partition by mon order by new_yweek) as mweek,
       sum(decode(wday, '1', mday, null)) as sun,
       sum(decode(wday, '2', mday, null)) as mon,
       sum(decode(wday, '3', mday, null)) as tue,
       sum(decode(wday, '4', mday, null)) as wed,
       sum(decode(wday, '5', mday, null)) as thu,
       sum(decode(wday, '6', mday, null)) as fri,
       sum(decode(wday, '7', mday, null)) as sat
  from (select dayofyear as everyday,
               to_char(dayofyear, 'mm') as mon,
               to_char(dayofyear, 'Month') as mon_name,
               to_char(dayofyear, 'w') as mweek,
               to_char(dayofyear, 'ww') as yweek,
               case
                 when (to_char(to_date(&year || '0101', 'yyyymmdd'), 'd') > '1') and
                      (to_char(dayofyear, 'd') <
                      to_char(to_date(&year || '0101', 'yyyymmdd'), 'd')) then
                  to_char(to_char(dayofyear, 'ww') + 1, 'fm00')
                 else
                  to_char(dayofyear, 'ww')
               end as new_yweek,
               to_char(dayofyear, 'd') as wday,
               to_char(dayofyear, 'dd') as mday
          from (select to_date(&year || '0101', 'yyyymmdd') + level - 1 as dayofyear
                  from dual
                connect by level <=
                           to_char(to_date(&year || '1231', 'yyyymmdd'),
                                   'ddd')))
group by mon, mon_name, new_yweek
分享到:
评论

相关推荐

    Oracle sql查询当前月的所有日期

    #### SQL实现方法 ##### 1. 使用`TRUNC()`函数与`SYSDATE` - **`TRUNC()`函数**:该函数用于截断日期到指定的粒度。在本例中,`TRUNC(SYSDATE, 'MM')`表示获取当前日期(由`SYSDATE`返回)的月份第一天。 - **`...

    Oracle Sql基础(beginning oracle sql中文版)

    Oracle SQL是Oracle公司对SQL的实现,它增加了许多增强功能,如PL/SQL、游标、触发器、存储过程等。 二、Oracle数据库结构 Oracle数据库由多个物理文件组成,包括数据文件、控制文件、重做日志文件和参数文件。这些...

    Oracle SQL 官方文档

    11g第二版(11G2)是Oracle的一个重要版本,提供了许多增强功能和优化。本官方文档集包括四份重要的参考资料,涵盖了Oracle SQL的核心概念、语法和最佳实践。 1. **PL/SQL语言参考**:PL/SQL是Oracle特有的过程化...

    oracle sql 根据年份、周数取日期

    本文将深入探讨如何利用Oracle SQL的功能来实现这一目标,包括理解Oracle中的日期函数、如何计算特定年份和周数的日期范围,以及如何构建SQL查询以满足这些需求。 ### Oracle SQL日期函数 Oracle提供了丰富的日期...

    Linux下定时自动执行Oracle_SQL

    Oracle SQL是Oracle数据库的查询语言,它提供了一系列功能强大的命令和函数,用于数据检索、更新、删除等操作。在自动化场景中,编写SQL脚本来定期执行数据统计或更新,对于数据分析和业务决策具有重要意义。 #### ...

    DBA对Oracle SQL编写规范的总结

    - 过长的函数实现,应当按照其实现的功能分段并加以概括性说明。 - 常量和变量注释时,应注释被保存值的含义以及合法取值范围(如果适用)。 - 可以使用单行注释或块注释。 - **示例**: - 单行注释:`-- 计算总...

    oracle sql 学习示例

    通过自定义函数,我们可以扩展数据库的内置功能,实现特定业务逻辑。这些函数可以接收参数,进行计算,然后返回一个值。例如,2-2.sql和6-8.sql可能包含创建和调用用户定义函数的实例,用于数据转换、验证或其他特定...

    《Oracle SQL高级编程》书中源代码

    首先,Oracle SQL是Oracle数据库系统的标准查询语言,它扩展了ANSI SQL标准,提供了许多独特且强大的功能。通过这本书,读者可以学习如何利用这些特性进行更高效的数据管理和分析。 1. **子查询**:Oracle SQL支持...

    oracle_sql帮助文档

    它是SQL标准的一个实现,具有许多Oracle特有的功能和扩展。这个“Oracle SQL帮助文档”很可能包含了关于如何使用Oracle SQL进行数据库交互的详细信息,包括语法、函数、操作和优化策略。 在Oracle SQL中,API(应用...

    Oracle 验证是否是日期

    函数`FN_ISDATE_JAVA`的主要功能是验证输入的字符串是否符合日期格式(YYYYMMDD)。如果字符串可以被正确解析为日期,则返回1;反之则返回0。 #### SQL 函数实现 ```sql CREATE OR REPLACE FUNCTION FN_ISDATE_...

    Sql语法转换为Oracle语法

    10. 日期格式:SQL Server和Oracle默认的日期格式不同,转换时需要考虑日期字符串的格式化问题。 在Delphi项目中,"sqlconvert.dpr" 是项目的主程序文件,"Unit1.dfm" 和 "Unit1.pas" 可能是用户界面和其对应的逻辑...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    - 本章的主要目标是帮助学习者熟悉Oracle SQL的基础知识,包括如何编写基本的SQL SELECT语句,理解SQL语句的基本结构及其功能,以及掌握基本的SQL编辑技巧。 **1.3 SQL SELECT语句的功能** - SQL SELECT语句是用于...

    Oracle SQL Reference

    - **文档版本**: 该文档为Oracle Database SQL Language Reference 11g Release 2 (11.2)版本,出版日期为2012年12月。 - **版权信息**: 版权所有者为Oracle公司及其关联公司,自1996年至2012年,版权所有,未经许可...

    实现ORACLE与SQLSERVER数据库间的数据抽取与转换工具

    在Oracle与SQL Server之间进行数据转换,我们需要考虑两者之间的语法差异,例如,日期时间格式、字符串函数、分页查询等。例如,Oracle的`TO_DATE`函数在SQL Server中可能是`CONVERT`函数,`SUBSTR`在SQL Server中...

    [英文]《精通Oracle SQL》(CHM格式)

    《精通Oracle SQL》是一本专为想要深入理解Oracle数据库系统SQL语言的专业人士编写的指南。这本书以CHM(Compiled HTML Help)格式提供,是电子书的一种常见格式,便于在计算机上阅读和检索。 本书的核心内容涵盖了...

    ORACLE和SQL语法区别归纳

    通过上述对比可以看出,虽然Oracle和SQL Server在很多方面有着相似的功能,但它们的具体语法和实现细节存在一定的差异。掌握这些差异对于跨平台数据库开发人员来说尤为重要。希望本文能够帮助读者更好地理解和运用这...

    OracleSQL实例-删除重复数据行留最新日期实例.pdf

    这个实例展示了Oracle SQL在数据清洗和管理中的强大功能,特别是在处理重复数据时。了解如何有效地删除重复数据并保留最新信息对于维护数据库的准确性和一致性至关重要。通过熟练掌握这些技巧,数据库管理员和开发...

Global site tag (gtag.js) - Google Analytics