国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Sql server 查詢指定時(shí)間區(qū)間工作日數(shù)、休息日數(shù)等日期操作

這篇具有很好參考價(jià)值的文章主要介紹了Sql server 查詢指定時(shí)間區(qū)間工作日數(shù)、休息日數(shù)等日期操作。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1、查詢指定時(shí)間區(qū)間的工作日

這個(gè)主要難點(diǎn)是法定節(jié)假日,國(guó)家的法定節(jié)假日每年都不一樣,還涉及到調(diào)休,所以我們?cè)O(shè)計(jì)一個(gè)假日表。主要字段有年份,類型(是否調(diào)休),假期日期。如下:

CREATE TABLE [dbo].[Holidays](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Holiday] [datetime2](7) NULL,--假期日期
[YearS] [char](4) NULL,--年份
[daytype] [int] NULL--類型
)

?

添加好當(dāng)年的假期和調(diào)休日期

寫個(gè)方法計(jì)算出除開法定假日的工作日

ALTER FUNCTION [dbo].[GetWorkerDays]
(
-- Add the parameters for the function here
 @StartTime DATETIME, -- 起始時(shí)間
 @EndTime DATETIME -- 結(jié)束時(shí)間,查詢默認(rèn)小于此時(shí)間
)
RETURNS INT
AS
BEGIN
DECLARE @Total INT;
DECLARE @Temp INT;
DECLARE @Days INT;
DECLARE @Index INT;
SET @Days = DATEDIFF(DAY,@StartTime,@EndTime);
SET @Index = 0;
SET @Temp = 0;
SET @Total = 0;
WHILE @Index < @Days BEGIN
SET @Temp = DatePart(WEEKDAY,DATEADD(DAY,@Index,@StartTime));
IF @Temp > 1 AND @Temp < 7 BEGIN
SET @Total = @Total + 1;
END
SET @Index = @Index + 1;
END
RETURN ISNULL(@Total,0)
END

?

執(zhí)行這個(gè)表值函數(shù)后加上調(diào)休日和減去法定假日就是工作日了,大家可以再寫一個(gè)存儲(chǔ)過程。

2,計(jì)算指定日期段的休息日

這個(gè)跟那個(gè)相反,就是星期天加上法定假日在減去調(diào)休日

我們寫一個(gè)函數(shù)

ALTER FUNCTION GetRestDays
(
@StartTime DATETIME2,
@EndTime DATETIME2
)
RETURNS INT
AS
BEGIN
DECLARE @LegalRest INT --法定假期
DECLARE @AdjustmentDay INT--調(diào)休上班時(shí)間
DECLARE @SurplusDay INT --剩余工作日
DECLARE @CountDay INT --總共天數(shù)
SELECT @LegalRest=COUNT(0) FROM dbo.Holidays WHERE daytype=1 AND  YearS=YEAR(GETDATE()) AND MONTH(Holiday)=MONTH(GETDATE())
AND Holiday>=@StartTime AND Holiday<=@EndTime
SELECT  @AdjustmentDay=COUNT(0) FROM dbo.Holidays WHERE daytype=2 AND  YearS=YEAR(GETDATE()) AND MONTH(Holiday)=MONTH(GETDATE())
AND Holiday>=@StartTime AND Holiday<=@EndTime
 SET @SurplusDay= [dbo].[GetWorkerDays](@StartTime,DATEADD(DAY,1,@EndTime))--剩余工作日
 SELECT @CountDay=COUNT(0) FROM dbo.TimeSpanDays(@StartTime ,DATEADD(DAY,1,@EndTime))  --總共天數(shù)  計(jì)算出 時(shí)間段總共天數(shù)
 return @CountDay-@SurplusDay+@LegalRest-@AdjustmentDay
END

?

3、計(jì)算當(dāng)前前月初日期和月末日期

月初

簡(jiǎn)單:

SELECT  CONVERT(VARCHAR(7),GETDATE(),120)+'-01'

月末日期

這個(gè)也簡(jiǎn)單簡(jiǎn)單:就是月第一天加一月再減去一天文章來源地址http://www.zghlxwxcb.cn/news/detail-424170.html

SELECT   DATEADD(DAY,-1, DATEADD(MONTH,1, CONVERT(VARCHAR(7),GETDATE(),120)+'-01'))

到了這里,關(guān)于Sql server 查詢指定時(shí)間區(qū)間工作日數(shù)、休息日數(shù)等日期操作的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Linux查詢指定時(shí)間段的日志

    Linux查詢指定時(shí)間段的日志

    Linux查詢指定時(shí)間段的日志 可以通過grep或者sed命令查指定時(shí)間段日志 1.命令 命令: 2.舉例 【例】查詢今天10月20日10點(diǎn)30分的這一分鐘的日志 第一步,可以先看下日志文件的格式 第二步,通過grep提取和匹配符合條件的字符串行 或者用sed查詢 注意事項(xiàng)

    2024年02月12日
    瀏覽(62)
  • Linux查詢提取指定時(shí)間段的日志

    在 Linux 中,可以使用 sed 、 awk 命令快速提取一個(gè)日志文件中指定時(shí)間段之間的日志信息。下面提供兩種方法: 首先,假設(shè)要提取的日志文件為 log.txt 。假設(shè)要提取 2023 年 06 月 01 日 00:00:00 到 2023 年 06 月 01 日 01:00:00 之間的日志信息,可以使用以下命令: 該命令的解釋如下:

    2024年02月12日
    瀏覽(22)
  • 基于elementui的工作日,休息日的日歷組件

    基于elementui的工作日,休息日的日歷組件

    在這里插入圖片描述,如圖要求做一個(gè)可以顯示休息日和工作日的組件。我基于element-ui已有的組件進(jìn)行修改。 以”日“為基本單位,基礎(chǔ)的日期選擇控件。 使用element-ui的國(guó)際化功能將星期一到星期日設(shè)置為中文 在vue組件里面引入el-date-picker 得到中文配置的容=日期選擇器

    2024年02月02日
    瀏覽(20)
  • vue2實(shí)現(xiàn)日歷12個(gè)月平鋪,顯示工作日休息日

    vue2實(shí)現(xiàn)日歷12個(gè)月平鋪,顯示工作日休息日

    參考:https://blog.csdn.net/weixin_40292154/article/details/125312368 1.組件DateCalendar.vue,sass改為less 2.util.js 3.父組件引用 效果: 樣式之后再調(diào)~~ 參考文章開頭的鏈接,實(shí)現(xiàn)按年度進(jìn)行12個(gè)月的日歷平鋪,并且按數(shù)組給值標(biāo)記工作日和休息日。

    2024年01月20日
    瀏覽(23)
  • SQL Server 連接查詢和子查詢

    SQL Server 連接查詢和子查詢

    提示: 利用單表簡(jiǎn)單查詢和多表高級(jí)查詢技能,并且根據(jù)查詢要求靈活使用內(nèi)連接查詢、外連接查詢或子查詢等。同時(shí)還利用內(nèi)連接查詢的兩種格式、三種外連接查詢語法格式和子查詢的語法格式。 內(nèi)連接查詢(不同表之間查詢) 自身連接查詢 使用第二種格式實(shí)現(xiàn)內(nèi)連接查詢

    2023年04月12日
    瀏覽(20)
  • SQL Server各種時(shí)間計(jì)算

    SQL Server各種時(shí)間計(jì)算

    一、時(shí)間計(jì)算 結(jié)果: 二、獲取整點(diǎn)時(shí)間 結(jié)果: 三、獲取年月日、時(shí)分秒 結(jié)果: 四、計(jì)算兩個(gè)日期之間相差多少年月日、時(shí)分秒 結(jié)果:

    2024年02月13日
    瀏覽(20)
  • Windows server 2016——SQL server T-SQL查詢語句

    Windows server 2016——SQL server T-SQL查詢語句

    作者簡(jiǎn)介:一名云計(jì)算網(wǎng)絡(luò)運(yùn)維人員、每天分享網(wǎng)絡(luò)與運(yùn)維的技術(shù)與干貨。? 公眾號(hào): 網(wǎng)絡(luò)豆 ?座右銘:低頭趕路,敬事如儀 個(gè)人主頁:?網(wǎng)絡(luò)豆的主頁????? 目錄 寫在前面 介紹 一.SQL簡(jiǎn)介 1.SQL和T-SQL 2.T-SQL的組成 二.使用T-SQL語句操作數(shù)據(jù)表 1.插入數(shù)據(jù) 2.更新數(shù)據(jù) ?編

    2024年02月09日
    瀏覽(30)
  • SQL Server查詢優(yōu)化方法

    SQL Server查詢優(yōu)化方法(查詢速度慢的原因很多,常見如下幾種) 1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程序設(shè)計(jì)的缺陷) 2、I/O吞吐量小,形成了瓶頸效應(yīng)。 3、沒有創(chuàng)建計(jì)算列導(dǎo)致查詢不優(yōu)化。 4、內(nèi)存不足 5、網(wǎng)絡(luò)速度慢 6、查詢出的數(shù)據(jù)量過大(可以采

    2024年01月21日
    瀏覽(16)
  • SQL Server的子查詢

    SQL Server的子查詢

    子查詢是嵌套在SELECT、INSERT、UPDATE、DELETE語句中或另一個(gè)子查詢中的查詢。 可以在允許表達(dá)式的任何位置使用子查詢。 示例: 子查詢也稱為內(nèi)部查詢或內(nèi)部選擇,而包含子查詢的語句也稱為外部查詢或外部選擇。 許多包含子查詢的 Transact-SQL 語句也可以表述為聯(lián)接。其他問

    2023年04月13日
    瀏覽(25)
  • SQL server 查詢語句大全

    在 SQL Server 中,查詢語句是最常用的語句類型,用于從數(shù)據(jù)庫中提取有用的信息。SQL Server 中常用的查詢語句有 SELECT、FROM、WHERE、GROUP BY、HAVING 和 ORDER BY。 1. SELECT SELECT 語句用于從表中選取數(shù)據(jù)進(jìn)行查詢,語法如下: ```sql SELECT column1, column2, column3, ... ? FROM table_name; ``` 在這個(gè)

    2024年02月13日
    瀏覽(29)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包