存储过程做的日历(原创)

原创 2005年04月29日 06:37:00

----功能:日历

----时间:2005-4-28

----作者:Tracy.Chuang

Create Proc SP_Calendar

@Date SmallDateTime = NULL

As

Begin

Declare @Calendar Table

(Week TinyInt,

Sun Varchar(2),

Mon Varchar(2),

Tue Varchar(2),

Wed Varchar(2),

Thu Varchar(2),

Fri Varchar(2),

Sat Varchar(2))



Declare @StartDate SmallDateTime,@EndDate SmallDateTime

Set @StartDate =DateAdd(Month,DateDiff(Month,0,IsNull(@Date,GetDate())),0)

Set @EndDate =DateAdd(Month,DateDiff(Month,0,IsNull(@Date,GetDate())) + 1,0) - 1



While DateDiff(Day,@EndDate,@StartDate) <= 0

Begin

Insert Into @Calendar

Select  DatePart(Week,@StartDate) As Week,

(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 1 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Sun,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 2 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Mon,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 3 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Tue,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 4 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Wed,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 5 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Thu,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 6 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Fri,
(Case (DatePart(DW,@StartDate)+@@DateFirst)%7  When 0 Then Cast(Day(@StartDate) As Varchar(2)) Else '' End) As Sat

Set @StartDate = @StartDate + 1

End



Select Max(Sun) As Sun,Max(Mon) As Mon,Max(Tue) As Tue,Max(Wed) As Wed,Max(Thu) As Thu,Max(Fri) As Fri,Max(Sat) As Sat

 From @Calendar

Group By week

End

原创sql存储过程函数范例

  • 2011年03月07日 22:00
  • 8KB
  • 下载

原创:oracle 存储过程(十三)

存储过程 存储过程是一种命名pl/sql程序块,它可以被赋予参数,存储在数据库中,可以被用户调用.由于存储过程是已编译好的代码,所以在调用的时候不必再次编译代码,从而提高程序的运行效率。另...

曾经写过的存储过程,留以后做参考

CREATE OR REPLACE TRIGGER "AERIALCM"."AAE_ATTR_DATA_TYPE_BI" BEFORE INSERT on AERIALCM.AAE_ATTR_DATA...

oracle存储过程中 使用游标做循环封装数据集

需求是 双11活动结束后根据活动id 给参与的用户发京东E卡券,每个用户无论参与多少次 只发一个。 这时就存在一个查到很多个用户符合条件 要一一发短信的结果集了。 create or replace ...

Oracle存储过程表名称列名称做参数,动态SQL

Oracle存储过程表名称列名称做参数,动态SQL背景 当前的系统中有几种日志信息做了分表处理,每个月插入到一个表中,一个表的分表有12个。这样的这种表有四个左右。 有个定时器,每天晚上的时候去执行满...

一个很好用的DBHelper类(包括使用SQL语句 存储过程 事务 做相关操作) 入门级

话不多少 直接贴代码   需引入的命名空间 需引入的命名空间   定义连接属性 SQL连接对象private SqlConnection conn; public Sql...

oracle 存储过程

  • 2017年11月20日 18:32
  • 68KB
  • 下载

MVC+EF+ 存储过程的小案例

  • 2017年11月16日 10:07
  • 6.66MB
  • 下载

C#带复选框的日历控件,本人原创(二)

该本本已经升级成用户控件了,只要添加在工具箱,直接拉出来设置两个属性就能使用了。具体如下图:   1.控件添加到工具箱   2.控件添加到界面   3.控件暴露的3个属性,第一个是...

mysql存储过程

  • 2017年11月07日 17:14
  • 2KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:存储过程做的日历(原创)
举报原因:
原因补充:

(最多只允许输入30个字)