当前位置:首页 » 编程语言 » 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-02-01 00:57:15 浏览:32
fgo安卓如何玩日服 发布:2025-02-01 00:49:40 浏览:715
sql2000服务管理器 发布:2025-02-01 00:48:02 浏览:677
荣耀畅玩什么配置 发布:2025-02-01 00:36:35 浏览:458
电脑对时服务器 发布:2025-02-01 00:36:22 浏览:162
闪迪存储卡港版 发布:2025-02-01 00:31:25 浏览:78
visualstudio编译器 发布:2025-02-01 00:31:20 浏览:753
如何移植安卓上面的软件 发布:2025-02-01 00:28:03 浏览:121
一刀传世混沌和破天是什么服务器 发布:2025-02-01 00:28:00 浏览:688
红米k40怎么修改安卓data 发布:2025-02-01 00:23:04 浏览:886