當前位置:首頁 » 編程語言 » 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

親·採納吧

熱點內容
sqlifthen男女 發布:2025-02-01 01:44:59 瀏覽:690
幻靈和安卓哪個互通 發布:2025-02-01 01:43:33 瀏覽:648
電腦配置夠但為什麼打lol掉幀 發布:2025-02-01 01:37:08 瀏覽:316
21款朗逸哪個配置比較劃算 發布:2025-02-01 01:35:32 瀏覽:976
建築動畫片腳本 發布:2025-02-01 01:35:21 瀏覽:469
管家婆如何用阿里雲伺服器 發布:2025-02-01 01:29:09 瀏覽:649
解壓耳放 發布:2025-02-01 01:20:18 瀏覽:175
cars演算法 發布:2025-02-01 01:02:26 瀏覽:177
資料庫超載 發布:2025-02-01 00:57:15 瀏覽:33
fgo安卓如何玩日服 發布:2025-02-01 00:49:40 瀏覽:716