
SELECT day(DateSerial(Year(Date()),Month(Date())+1,1)-1) AS 当月天数;
DateSerial(Year(Date()),Month(Date())+1,1)-1 表示当月最后一天的日期
select datediff(day,convert(varchar(10),getdate(),120),convert (varchar(10),dateadd(month,-1,getdate()),120))
这个语句可以用用 我测试没有找到问题 ,你看有问题没
日期 我用 getdate()获取的
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 =0
WHILE @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+1
END
SELECT @date AS 输入的日期,DATEDIFF(DAY,@date,@date_month_end_day) AS 剩余天数,@j AS 剩余周末天数
出勤天数
select from 考勤表 where (intkqstate<7 and outkqstate<7) and 日期 between '2009-1-1' and '2009-1-31' and 员工ID=" & ID
如果不查某个人的,就不用加员工ID这个条件
未出勤天数:
select from 考勤表 where (intkqstate>6 and outkqstate>6) and 日期 between '2009-1-1' and '2009-1-31' and 员工ID=" & ID
以上就是关于access下用SQL写段获取当月天数的句子,是在ACCESS2001下,网上找了几个,没有通过全部的内容,包括:access下用SQL写段获取当月天数的句子,是在ACCESS2001下,网上找了几个,没有通过、SQL写一个存储过程或者是查询语句,返回本月的天数、sql通过查询一个指定日期(如2016-09-04),可以知道指定日期所在月份剩余天数和剩余周末天数.等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)