sql 日历
/* 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 日历的更多相关文章
- sql经典语句大全
		
SQL Server提供了大量的函数, 但是在一些常见的如, 字符串拆分, 字符提取,过滤等没有对应的处理, 本帖主要收集一些常见的函数, 整理如下: ------------------------ ...
 - SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解
		
本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表 位运算 SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...
 - oracle:如何用sql生成日历
		
BI分析中,经常需要将事实表与时间维度表关联起来,按年/月/日来逐层展示,常用的做法是创建一张日历表,结构类似如下: create table T_BAS_CALENDAR ( d_year ) no ...
 - SQL做日历
		
DECLARE @DATE DATETIME SET @DATE=GETDATE() SELECT SUN -DAY(@DATE),@DATE))=@DATE THEN '*' ELSE '' END ...
 - SQL打印全年日历
		
数据库环境:SQL SERVER 2008R2 我之前有写过打印本月日历的SQL,里头有详细的说明.具体请参考前面的博文——生成本月日历. 全年日历只是在本月日历的基础上加了月信息,并按月份分组求得. ...
 - 利用sql server直接创建日历
		
看到网上有高手直接用sql查询创建日历,也想自己动手实践一遍.笔者这里的实现和网上的都没有什么区别,思路也没有什么新意.觉得好玩,就把它记下来吧. 一.准备知识1.sql的with关键字关于with和 ...
 - SQL查询日历
		
这东西给自己留着用. 经常会用到一些查询需要做全月统计,但有些时候的统计需要将未发生日期也显示出来,因此会需要一个固定的日期表,(T6的自定义查询估计也是需要的,至少以前是这样) 下面写两种方法来获取 ...
 - oralce sql 创建指定时间段内的日历信息
		
-- Create table create table TEMP_CALENDAR ( MONTH VARCHAR2(6), W_7 VARCHAR2(2), W_1 VARCH ...
 - 【Teradata SQL】日历函数查询
		
查询2018年agmt_id=1076226890174464676612的,且金额类型代码为0212,每日协议金额. 1.协议金额历史表取某一日数据(20180101) sel t.start_dt ...
 
随机推荐
- mysqldbcopy 数据库复制工具
			
命令参考 mysqldbcopy --source=root:'xxxxxxx'@database s --destination=root:'^%xxxxxz'@databases orange:o ...
 - Java之基于Eclipse搭建SSH框架(下)
			
在上篇博客里,我简介了Tomcat滴配置与Struts2滴搭建,假设对这个还不会滴童鞋去看一下我滴上篇博客<Java之基于Eclipse搭建SSH框架(上)>.今天我们接着上篇博客滴内容. ...
 - javascript之scrollTop
			
下面的演示中,外层元素的高度值是200px,内层元素的高度值是300px.很明显,“外层元素中的内容”高过了“外层元素”本身.当向下拖动滚动条时,有部分内容会隐没在“外层元素的上边界”之外,scrol ...
 - 《Unix网络编程》中的错误处理函数
			
#include "net.h" #include <syslog.h> // syslog() int daemon_proc; static void err_do ...
 - 我对hibernate和mybatis框架的比較
			
系统在选择操作数据库的框架上面,究竟是选择hibernate,还是mybatis. 首先说下两者的原理,假设你要关联几张表做查询,查出20条记录: 1.假设是mybatis SELECT * FR ...
 - Vim经常使用技巧总结2
			
我的主力博客:半亩方塘 1. 在光标所在行查找字符在普通模式下用 f{char} 命令,光标会移动到该字符所在的位置.向下反复查找在普通模式下用 ;,向上回退查找用 , 2. 在光标所在行查找与替换在 ...
 - Android安装应用后点击"打开"(Open)带来的问题及解决方案
			
MainActivity例如以下: package cc.cc; import android.app.Activity; import android.content.Intent; import ...
 - ViewGroup如何分发事件
			
dispatchTouchEvent事件派发显示隧道方式.再是冒泡方式隧道方式传递,直道某一个元素消耗此事件,由上至下逐层分发视图.冒泡方式传递,当某个视图消耗事件后其return boolean 是 ...
 - 关于 truncate table 的一点学习札记
			
---下面整理笔记来之 itpub 的各位前辈的语录.这里做了一个汇总.仅供学习. truncate table后,oracle会回收表和其表中所在的索引到initial 大小,也就是初始分配的seg ...
 - VC FTP服务器程序分析(四)
			
下面是数据传输的重点-CDataSocket类,函数不多,都比较重要. 1.OnAccept 数据tcp服务器被连接的虚函数,由框架调用. void CDataSocket::OnAccept(in ...