當前位置:首頁 » 編程語言 » sql工作日計算

sql工作日計算

發布時間: 2022-07-20 16:36:34

❶ db2sql判斷日期是否為工作日

db2sql判斷日期是否為工作日:
如果格式固定的話,可以嘗試TO_DATE再捕獲異常的方式進行處理。

CREATEFUNCTIONISDATE(p_datevarchar(10))
RETURNSINT
LANGUAGESQL
BEGIN
--錯誤標志
DECLAREv_resultINT;
DECLAREv_dateDATE;
--定義錯誤處理
--如果發生錯誤,繼續處理
--但是把標志位設置為0
DECLARECONTINUEHANDLER
FOR
SQLEXCEPTIONSETv_result=0;
--錯誤標志,首先設置為正常.
SETv_result=1;
SETv_date=TO_DATE(p_date,'YYYY-MM-DD');
returnv_result;
END
db2=>select
db2(cont.)=>isdate(񟭌-10-10')A,
db2(cont.)=>isdate(񟭌-13-13')B
db2(cont.)=>FROM
db2(cont.)=>SYSIBM.SYSDUMMY1@
AB

❷ sql中怎麼統計工作日出勤情況

1.你還得有張日期表,規定一年365天哪天是周末,哪天是節假日,也就是日期類型(其實就是日歷)
2.出勤表中日期和日期表中的日期連接根據日期類型就知道哪天是節假日哪天是正常上班時間了
3.曠工天數應該就是出勤表中上班簽到時間或者下班簽到時間為空的話就算曠工了
4.休息日加班天數就是出勤表和日期表連接,日期類型是休息日,並且上班簽到和下班簽到時間都不為空了
總之,有張日期表什麼都能檢索出來了

❸ 每個月的工作日有多少天,每個月剩餘多少天(去除工作日,法定節假日)的sql語句。

select year(日期),month(日期),is_working_day,count(*) from table group by is_working_day order by year(日期),month(日期);

mysql的寫法,如果sqlserver,
year(日期),month(日期) 換成
DateName(year,日期),DateName(month,日期)

❹ sql如何計算兩個日期間的工作日,剔除節假日

select count(distinct day) from tb
where day between day1 and day2 --找出兩天內的日子
and weekday(day)<5 --5代表周六,6代表周日,剔除掉

❺ 何使用sql語句計算工作日(除去周六周日以及

networkdays(start_date,end_date,holidays)函數是專門用於計算兩個日期值之間完整的工作日數值。這個工作日數值將不包括雙休日和專門指定的其他各種假期。
點擊「工具」菜單中的「載入宏」,找到「分析工具庫」,給它一個小勾,再「確定」。原來,這兩個函數是嵌於「分析工具庫」這個載入宏中的excel擴展函數,而excel在默認狀態下是不載入這個載入宏的networkdays(start_date,end_date,holidays)函數是專門用於計算兩個日期值之間完整的工作日數值。這個工作日數值將不包括雙休日和專門指定的其他各種假期。
點擊「工具」菜單中的「載入宏」,找到「分析工具庫」,給它一個小勾,再「確定」。原來,這兩個函數是嵌於「分析工具庫」這個載入宏中的excel擴展函數,而excel在默認狀態下是不載入這個載入宏的

❻ weekday(date) 後 怎麼求 工作日的總天數和休息日的總天數(sql)

DECLARE @date DATE='' DECLARE @date_month_end_day DATE =''SET @date='2016-09-04'SET @date_month_end_day=DATEADD(DAY,-1,DATEADD(MONTH,1,DATEADD(DAY,1-DAY(@date),@date)))--指定日期所在月份剩餘天數和剩餘周末天數DECLARE @i INT = DAY(DATEADD(DAY,1,DAY(@date)))DECLARE @j INT =0WHILE @i <= DAY(@date_month_end_day)BEGIN IF DATEPART(WEEKDAY,CAST(CAST(YEAR(@date) AS VARCHAR(4))+'-'+CAST(MONTH(@date) AS VARCHAR(2))+'-'+CAST(@i AS VARCHAR(2)) AS DATE)) NOT BETWEEN 2 AND 6 SET @j=@j+1 SET @i=@i+1ENDSELECT @date AS 輸入的日期,DATEDIFF(DAY,@date,@date_month_end_day) AS 剩餘天數,@j AS 剩餘周末天數

❼ 求一個sql語句 「算從今天開始第4個工作日及日期」比方說今天是周五那麼算出的結果應該8月14號 周4

select case when datepart(weekday,DATEADD(dd, -1,getdate()))=1 then datename(weekday,getdate()+4)
else datename(weekday,getdate()+6) end as weeks,
case when datepart(weekday,DATEADD(dd, -1,getdate()))=1 then convert(varchar(100),dateadd(DAY,4,getdate()),23)
else convert(varchar(100),dateadd(DAY,6,getdate()),23) end as dates

親·採納吧

熱點內容
連接資料庫的類 發布:2025-03-05 10:51:54 瀏覽:388
androidjswebview交互 發布:2025-03-05 10:51:47 瀏覽:116
區塊鏈數據存儲系統 發布:2025-03-05 10:50:18 瀏覽:581
qq重設密碼後為什麼還沒有解封 發布:2025-03-05 10:49:34 瀏覽:130
cmd無法訪問 發布:2025-03-05 10:09:47 瀏覽:523
pythonfor換行 發布:2025-03-05 09:51:44 瀏覽:710
yum內核源碼 發布:2025-03-05 09:27:41 瀏覽:94
x86編程 發布:2025-03-05 09:24:22 瀏覽:173
怎麼支付寶信用卡提現密碼 發布:2025-03-05 09:21:20 瀏覽:119
月神腳本圈 發布:2025-03-05 09:13:44 瀏覽:178