sql语句建立日历

简介: http://www.itpub.net/thread-469543-1-1.html 2005年的帖子:语句如下:/* Formatted on 2010/06/20 15:13 (Formatter Plus v4.
http://www.itpub.net/thread-469543-1-1.html

2005年的帖子:

语句如下:

/* Formatted on 2010/06/20 15:13 (Formatter Plus v4.8.8) */
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
/
目录
相关文章
|
SQL XML Oracle
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
524 0
Mybatis动态SQL语句查询,实现一个参数 可查询多个字段。
|
6月前
|
SQL Oracle 关系型数据库
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
mysql和oracle 命令行执行sql文件 数据库执行sql文件 执行sql语句
78 0
|
SQL 存储 缓存
一文搞懂MySQL中一条SQL语句是如何执行的
一文搞懂MySQL中一条SQL语句是如何执行的
|
SQL 存储 关系型数据库
MySQL的第一篇文章——了解数据库、简单的SQL语句
MySQL的第一篇文章——了解数据库、简单的SQL语句
【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?
如何一个SQL打印出当月日历或当年日历???如何统计一年内属于周内某一天的所有日期???如何确定某月内第一个和最后—个周内某天的日期???【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。本例要求返回当月内第一个星期一与最后一个星期一,我们分别找上月末及当月末之前七天的下一周周一即可。
【SQL开发实战技巧】系列(十九):数据仓库中时间类型操作(进阶)如何一个SQL打印当月或一年的日历?如何确定某月内第一个和最后—个周内某天的日期?
|
SQL Python
Pandas与SQL的数据操作语句对照
Pandas与SQL的数据操作语句对照
166 0
Pandas与SQL的数据操作语句对照
|
SQL 程序员 开发工具
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
541 0
【Sql Server】基础之分组查询重复出现多条记录的SQL语句,以及group by和having、min函数运用
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
SQL 查询表中每门课程成绩最好的前n名学生 优于group by语句的方法
|
SQL 数据库 数据安全/隐私保护
使用SQL语句 查询电话号码 加密显示
使用SQL语句 查询电话号码 加密显示
336 0
使用SQL语句 查询电话号码 加密显示
|
SQL 存储 安全
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率
MYSQL数据库初窥门径, SQL语句地熟练使用, 图形化界面提高效率