动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   Asp → 阅读文章

 一个得到在两个日期之间的休息日的SQL Server 的函数

作者:豆腐 来源:http://www.asp888.ne 
阅读 3863 人次 , 2000-12-22 

其实这个函数不是SQL Server 提供的,是豆腐编写的,大家不要因为豆腐篇了大家
就用石头砸豆腐:)其实 自从这个函数生成以后我们在使用的时候,是根本不可能区分出这个
函数是Sql server 的还是 自定义的函数,这个就是SQL2K 给我们带来的一个新的特点之一
我们先看看这个函数的意义,其实 最初向我要这个函数的人是 蓝,不过当时还没有 SQL2K,
现在有了SQL2k 我也好容易找到了一些时间来写这个函数了.这个函数的功能是在任意的两个
时间之间得到 休息的天数。目前只是处理了双修日:)
好了,下面我们来看看这个函数,顺便通过这个函数我们可以来学习使用一下SQL2k的这个新的功能

CREATE FUNCTION GetVac(@Start datetime,@End datetime)
RETURNS integer AS
BEGIN
declare
@intNum integer,
@intAllDay integer,
@i integer,
@intWeekDay integer,
@tempDateTime datetime,
@intVac integer
select @intAllDay=DateDiff(dd,@Start,@End)
select @i=0
select @intVac=0
while(@i<@intAllDay)
begin
select @tempDateTime=DateAdd(dd,@i,@Start)
select @intWeekDay=datepart(dw,@tempDateTime)-1
if(@intWeekDay=6) or (@intWeekDay=0)
begin
select @intVac=@intVac+1
end
select @i=@i+1
end
return @intVac
END
好的,这个函数生成以后,我们就可以使用这个函数了,比如:
select aa=dbo.GetVac(2000-12-10 00:00:00.000,'2000-12-18 00:00:00.000')
得到的结果是:3 呵呵
  

 本文Tagsmssql  数据库  
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:StripNonNumeric函数源程序
· 下一篇:大家看看如何用asp操作Oracle数据库吧(一) 
· ASP无组件上传图片的基本方法
· 一个用application存数组的例子
· 彻底防止ACCESS数据库文件被下载
· Ad Rotator组件使用例子
· JScript 方法 - log 方法


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077