sqlserver比较当前时间和指定时间,超过8个小时工作日的为是,未超过为否
时间: 2024-09-23 20:06:35 浏览: 41
在SQL Server中,你可以使用T-SQL查询来比较当前日期和时间与指定的时间,并结合判断是否超出8小时的工作日。通常,我们假设工作日是从早上9点到下午5点(总共8小时)。这里是一个简单的示例:
```sql
DECLARE @CurrentDateTime DATETIME = GETDATE(); -- 获取当前日期和时间
DECLARE @WorkStartTime DATETIME = DATEADD(hour, 9, CAST(DATEPART(year, @CurrentDateTime) AS VARCHAR) + '-' + CAST(DATEPART(month, @CurrentDateTime) AS VARCHAR) + '-' + CAST(DATEPART(day, @CurrentDateTime) AS VARCHAR)); -- 工作开始时间,假设为当天的9点
DECLARE @WorkEndTime DATETIME = DATEADD(hour, -1, DATEADD(hour, 17, @WorkStartTime)); -- 工作结束时间,假设为当天的16点
DECLARE @IsWorkingDay BIT = CASE
WHEN @CurrentDateTime BETWEEN @WorkStartTime AND @WorkEndTime THEN 1 -- 超过8小时工作日,则标记为1(是)
ELSE 0 -- 否则,未超过8小时工作日,标记为0
END;
SELECT @IsWorkingDay AS 'IsWorkingDay';
```
这个脚本首先计算出今天的开始和结束工作时间,然后检查当前时间是否在这个范围内。如果在工作时间内超过8小时,`@IsWorkingDay`就会设置为1,否则为0。
阅读全文
相关推荐


















