select datename(weekday, getdate())select datepart(weekday, getdate())

解决方案 »

  1.   

    create table testDate(
    dateID int identity primary key,
    begintime datetime,
    endtime datetime
    )
    insert into testDate values('2014-6-1','2014-7-1');
    insert into testDate values('2014-6-2','2014-7-2');
    insert into testDate values('2014-6-3','2014-7-3');
    insert into testDate values('2014-6-4','2014-7-4');
    insert into testDate values('2014-6-5','2014-7-5');
    insert into testDate values('2014-6-6','2014-7-6');
    insert into testDate values('2014-6-7','2014-7-7');
    insert into testDate values('2014-6-8','2014-7-8');
    insert into testDate values('2014-6-9','2014-7-9');
    insert into testDate values('2014-6-10','2014-7-10');
    insert into testDate values('2014-6-11','2014-7-11');
    insert into testDate values('2014-6-12','2014-7-12');
    insert into testDate values('2014-6-13','2014-7-13');
    insert into testDate values('2014-6-14','2014-7-14');
    insert into testDate values('2014-6-15','2014-7-15');
    insert into testDate values('2014-6-16','2014-7-16');select COUNT(1) from testDate where datepart(weekday, begintime)<>1
      

  2.   

    此前遇到过只要计算星期日天数的,类似:
    declare @d1 date = '2014-6-3'  -- 开始日期
    declare @d2 date = '2014-6-17' -- 结束日期, 不含此天
    select DATEDIFF(d,@d1,@d2) - ((5+DATEPART(weekday,@d1))%7+DATEDIFF(d,@d1,@d2))/7
      

  3.   


     declare @Days int  -- 总天数
     declare @Week int  -- 星期数
     declare @WorkDays int  -- 工作天数
     SELECT @Week=DATEDIFF(wk,'2014-01-01','2014-10-30') 
     SELECT @Days=DATEDIFF(DD,'2014-01-01','2014-10-30') 
     set @Week = @Week *2
     set @WorkDays = @Days- @Week
     select @WorkDays测试。。
      

  4.   

    ACCESS数据库貌似没有那么多函数啊
      

  5.   

    卧槽,都以为是sqlserver数据库。
    http://www.w3school.com.cn/sql/sql_dates.asp
      

  6.   

    要单独为表2做个录入的界面,或者可以从EXCEL导入
      

  7.   

    节日还好办,我现在主要问题是怎么算出上班多少天,因为是出差,所以到达时间和离开时间是不确定的,每个人一条或几条信息(例如tom一年出差3次,那么就是三条信息)。用户需要做的就是查询某一段时间,这些人的出差人次(除去星期日)。节假日,加班,请假我想在另一张表里边弄,最后汇总就好。目前就是前面汇总一共多少人次。
      

  8.   

    自己在程序里算吧.
    上班天数=结束时间-开始时间-休息天数
    休息天数去我刚才说的表里按时间段查出来是多少天.
    或者也可以做个联合查询
    select endtime-starttime-(select count(*) from 表2 where time<=endtime and time>=starttime) from 表1
      

  9.   

    是在不行就只有这样了,我也想到建两个时间表,但是有一个问题,就是今天是6-24日,如果用户想查6-1日到6-30日的情况,用户本来是想如果没有发生使用计划离开时间,但你这么做的话就没法查了,因为表中还没有24日以后的数据自己在程序里算吧.
    上班天数=结束时间-开始时间-休息天数
    休息天数去我刚才说的表里按时间段查出来是多少天.
    或者也可以做个联合查询
    select endtime-starttime-(select count(*) from 表2 where time<=endtime and time>=starttime) from 表1是在不行就只有这样了,我也想到建两个时间表,但是有一个问题,就是今天是6-24日,如果用户想查6-1日到6-30日的情况,用户本来是想如果没有发生使用计划离开时间,但你这么做的话就没法查了,因为表中还没有24日以后的数据
      

  10.   

    自己在程序里算吧.
    上班天数=结束时间-开始时间-休息天数
    休息天数去我刚才说的表里按时间段查出来是多少天.
    或者也可以做个联合查询
    select endtime-starttime-(select count(*) from 表2 where time<=endtime and time>=starttime) from 表1是在不行就只有这样了,我也想到建两个时间表,但是有一个问题,就是今天是6-24日,如果用户想查6-1日到6-30日的情况,用户本来是想如果没有发生使用计划离开时间,但你这么做的话就没法查了,因为表中还没有24日以后的数据
    没有数据不要紧啊,没有数据的count(*)也不会计算没有数据的部分啊.
    count(*)只计算有数据的记录数,一条都没有也不过是返回0而已,不会影响你总的查询结果.
    而且即使你出差的数据是从1-24,但是休息日是提前录入了整个一年的,也不会有问题
    因为休息日表的查询条件是从出差表里获取的,不会把24日之后的休息日也算进去并扣除掉
      

  11.   

    select 表1.endtime-表1.starttime-(select count(*) from 表2 where 表2.time<=表1.endtime and 表2.time>=表1.starttime) from 表1
      

  12.   


    比如这个
    我想查2014-06-11到2014-06-25
    那么id=2是2014-06-25减去2014-60-11
    id= 3是2014-06-19减去2014-60-11
    id=4就是2014-06-11减去2014-06-11 等于1天
    id=5则是2014-6-25减去2014-6-17
    id=6则是2014-6-22减去2014-6-19
    然后在减去相应的周日天数