濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語(yǔ)句

MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語(yǔ)句

熱門標(biāo)簽:廣東防封卡外呼系統(tǒng)原理是什么 外呼系統(tǒng)改進(jìn) 分享百度地圖標(biāo)注多個(gè)位置 地圖標(biāo)注牌 長(zhǎng)沙智能外呼系統(tǒng) 電銷機(jī)器人公司 需要哪些牌照 菏澤語(yǔ)音電銷機(jī)器人加盟公司 知名電銷機(jī)器人價(jià)格 湖南電腦外呼系統(tǒng)平臺(tái)
復(fù)制代碼 代碼如下:

if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_WorkDay]
GO
--計(jì)算兩個(gè)日期相差的工作天數(shù)
CREATE FUNCTION f_WorkDay(
@dt_begin datetime, --計(jì)算的開(kāi)始日期
@dt_end datetime --計(jì)算的結(jié)束日期
)RETURNS int
AS
BEGIN
declare @i int
select @i=abs(datediff(dd,@dt_begin,@dt_end))
declare @t table(dt datetime)
if @dt_begin>@dt_end
insert @t select dateadd(dd,number,@dt_end) from master..spt_values
where number=@i and type='P'
else
insert @t select dateadd(dd,number,@dt_begin) from master..spt_values
where number=@i and type='P'
return(select count(*) from @t where (datepart(weekday,dt)+@@datefirst-1)%7 between 1 and 5)
END
GO
select dbo.f_WorkDay('2009-10-10','2009-10-1')
/*
-----------
7
(1 個(gè)資料列受到影響)
*/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[f_WorkDay]') and xtype in (N'FN', N'IF', N'TF'))
drop function [dbo].[f_WorkDay]
GO
--計(jì)算兩個(gè)日期相差的工作天數(shù)
CREATE FUNCTION f_WorkDay(
@dt_begin datetime, --計(jì)算的開(kāi)始日期
@dt_end datetime --計(jì)算的結(jié)束日期
)RETURNS int
AS
BEGIN
DECLARE @workday int,@i int,@bz bit,@dt datetime
set @workday=0
IF @dt_begin>@dt_end
SELECT @bz=1,@dt=@dt_begin,@dt_begin=@dt_end,@dt_end=@dt
ELSE
SET @bz=0
WHILE @dt_begin=@dt_end
BEGIN
SELECT @workday=CASE
WHEN (@@DATEFIRST+DATEPART(Weekday,@dt_begin)-1)%7 BETWEEN 1 AND 5
THEN @workday+1 ELSE @workday END,
@dt_begin=@dt_begin+1
END
RETURN(CASE WHEN @bz=1 THEN -@workday ELSE @workday END)
END
GO
select dbo.f_WorkDay('2009-10-10','2009-10-1')
/*
-----------
-7
*/
您可能感興趣的文章:
  • SQL Server 日期函數(shù)CAST 和 CONVERT 以及在業(yè)務(wù)中的使用介紹
  • SQLserver中用convert函數(shù)轉(zhuǎn)換日期格式的方法
  • SQL Server 日期相關(guān)資料詳細(xì)介紹
  • sqlserver獲取當(dāng)前日期的最大時(shí)間值
  • sqlserver中如何查詢出連續(xù)日期記錄的代碼
  • sql 查詢本年、本月、本日記錄的語(yǔ)句,附SQL日期函數(shù)
  • Sqlserver 常用日期時(shí)間函數(shù)
  • 根據(jù)日期知道當(dāng)天是星期幾的手動(dòng)計(jì)算方法
  • 按日期選擇最晚日期與最早日期對(duì)應(yīng)的數(shù)的差值
  • SQL Server自動(dòng)生成日期加數(shù)字的序列號(hào)
  • SQL 返回期間內(nèi)的所有日期
  • 數(shù)據(jù)庫(kù) 日期加減處理
  • sql語(yǔ)句中如何將datetime格式的日期轉(zhuǎn)換為yy-mm-dd格式
  • 在SQL中使用convert函數(shù)進(jìn)行日期的查詢的代碼
  • SQL Server日期計(jì)算
  • SQL Server各種日期計(jì)算方法(收藏)
  • SqlServer中的日期與時(shí)間函數(shù)

標(biāo)簽:天水 珠海 福建 西寧 呼和浩特 泉州 商洛 美容院

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語(yǔ)句》,本文關(guān)鍵詞  MSSQL,計(jì)算,兩個(gè),日期,相差,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語(yǔ)句》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于MSSQL 計(jì)算兩個(gè)日期相差的工作天數(shù)的語(yǔ)句的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    老河口市| 沂水县| 都安| 明水县| 太原市| 吴桥县| 化州市| 宁阳县| 克东县| 铜鼓县| 岳阳市| 西乌珠穆沁旗| 台州市| 郁南县| 海林市| 新野县| 潜江市| 天柱县| 宁蒗| 霍邱县| 湘阴县| 岗巴县| 体育| 梨树县| 阳东县| 酒泉市| 北川| 巫溪县| 奉贤区| 天祝| 海南省| 望城县| 扶余县| 仲巴县| 长垣县| 大洼县| 和静县| 靖西县| 长顺县| 广宗县| 嘉荫县|