/* Formatted on 2013/9/7 20:45:28 (QP5 v5.185.11230.41888) */
SELECT MIN (DECODE (TO_CHAR (DAYS, 'D'), 1, TO_CHAR (DAYS, 'FMDD'))) MON,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 2, TO_CHAR (DAYS, 'FMDD'))) TUE,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 3, TO_CHAR (DAYS, 'FMDD'))) WED,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 4, TO_CHAR (DAYS, 'FMDD'))) THU,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 5, TO_CHAR (DAYS, 'FMDD'))) FRI,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 6, TO_CHAR (DAYS, 'FMDD'))) SAT,
MIN (DECODE (TO_CHAR (DAYS, 'D'), 7, TO_CHAR (DAYS, 'FMDD'))) SUN
FROM (SELECT (A.BASE_MON + ROWNUM - 1) AS DAYS,
A.BASE_MON,
( ( TRUNC (BASE_MON + ROWNUM - 1, 'D')
- TRUNC (TRUNC (BASE_MON + ROWNUM - 1, 'Y'), 'D'))
/ 7
+ 1)
AS WEEK_NUM
FROM (SELECT TO_DATE ('201202', 'YYYYMM') BASE_MON FROM DUAL) A,
DICTIONARY B) C
WHERE C.DAYS <= LAST_DAY (BASE_MON)
GROUP BY WEEK_NUM
ORDER BY WEEK_NUM;

==============================================

select dates,
weekday,
decode(weekday,'1','일','2','월','3','화','4','수','5','목','6','금','7','토') "weekday(요일)",
week_cnt "week_cnt(주차)"
from (
select to_date(days,'yyyymmdd') as dates,
to_char(to_date(days,'yyyymmdd'), 'd') as weekday,
week_cnt
from (select to_char(months,'yyyymm') as months,
to_char(months,'yyyymm') || lpad(lv, 2, '0') as days,
day_cnt,
(lv + (7-to_char(months+(lv-1), 'd')) + (to_char(to_date(to_char(months, 'yyyymm')||'01', 'yyyymmdd'), 'd')-1)) / 7 as week_cnt
from (select add_months(to_date(201101,'yyyymm'), lv - 1) as months,
to_char(last_day(add_months(to_date(201101,'yyyymm'), lv-1)), 'dd') as day_cnt
from dual sa,
(select level lv
from dual
connect by level <= months_between(to_date(201112,'yyyymm'), to_date(201101,'yyyymm'))+1)
) a,
(select level lv
from dual
connect by level <= 31
) b
) m
where months||day_cnt >= days
order by months, days
)

sql 日历的更多相关文章

  1. sql经典语句大全

    SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------ ...

  2. SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解

    本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表   位运算   SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...

  3. oracle:如何用sql生成日历

    BI分析中,经常需要将事实表与时间维度表关联起来,按年/月/日来逐层展示,常用的做法是创建一张日历表,结构类似如下: create table T_BAS_CALENDAR ( d_year ) no ...

  4. SQL做日历

    DECLARE @DATE DATETIME SET @DATE=GETDATE() SELECT SUN -DAY(@DATE),@DATE))=@DATE THEN '*' ELSE '' END ...

  5. SQL打印全年日历

    数据库环境:SQL SERVER 2008R2 我之前有写过打印本月日历的SQL,里头有详细的说明.具体请参考前面的博文——生成本月日历. 全年日历只是在本月日历的基础上加了月信息,并按月份分组求得. ...

  6. 利用sql server直接创建日历

    看到网上有高手直接用sql查询创建日历,也想自己动手实践一遍.笔者这里的实现和网上的都没有什么区别,思路也没有什么新意.觉得好玩,就把它记下来吧. 一.准备知识1.sql的with关键字关于with和 ...

  7. SQL查询日历

    这东西给自己留着用. 经常会用到一些查询需要做全月统计,但有些时候的统计需要将未发生日期也显示出来,因此会需要一个固定的日期表,(T6的自定义查询估计也是需要的,至少以前是这样) 下面写两种方法来获取 ...

  8. oralce sql 创建指定时间段内的日历信息

    -- Create table create table TEMP_CALENDAR (   MONTH VARCHAR2(6),   W_7   VARCHAR2(2),   W_1   VARCH ...

  9. 【Teradata SQL】日历函数查询

    查询2018年agmt_id=1076226890174464676612的,且金额类型代码为0212,每日协议金额. 1.协议金额历史表取某一日数据(20180101) sel t.start_dt ...

随机推荐

  1. android官方Api 理解Activity生命周期的回调机制(适合有基础的人看)

    原文地址:http://www.android-doc.com/training/basics/activity-lifecycle/starting.html#lifecycle-states 此处 ...

  2. JNI之—— Eclipse配置C/C++开发环境

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46622173 开发环境:Eclipse3.2.CDT3.1.MinGW5.1 1. ...

  3. php 中函数获取可变参数的方法, 这个语法有点像 golang 语言中的

    原文呢:http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict Onl ...

  4. 【Objective-C】09-空指针和野指针

    一.什么是空指针和野指针 1.空指针 1> 没有存储不论什么内存地址的指针就称为空指针(NULL指针) 2> 空指针就是被赋值为0的指针.在没有被详细初始化之前.其值为0. 以下两个都是空 ...

  5. struts开发&lt;在eclipse中配置struts. 一&gt;

    1.获取struts的jar包 1.1首先在http://struts.apache.org/download.cgi#struts23163这里下载 struts的文件包(选择struts-2.3. ...

  6. linked-list-cycle——链表、判断是否循环链表、快慢指针

    Given a linked list, determine if it has a cycle in it. Follow up:Can you solve it without using ext ...

  7. android项目笔记(一)

    1.getInstance:单例模式创建类的实例,getInstance在单例模式(保证一个类仅有一个实例,并提供一个访问它的全局访问点)的类中常见,用来生成唯一的实例,getInstance往往是s ...

  8. HDU 2018 母牛的故事 [补]

    今天刚考完试,和杨曙光玩了RPG,实在不想看题了 /***************************************************/ 母牛的故事 Time Limit: 200 ...

  9. LeetCode_DP_Word Break II

    LeetCode_Word Break II 一.题目描写叙述: 二.解决思路: 题目要求我们要在原字符串中加空格,使得隔开的每一个词都是词典中的词. 所以我们大能够按顺序扫描每一个字符.可是然后当碰 ...

  10. selenium-python问题日记

    今天在学习selenium时遇到了两个问题,在这里记录一下: 使用unittest框架组织了测试用例后,拓展一下功能就成了我最想做的事情, 所以决定添加发邮件功能. 使用python自带的smtpli ...