已知今年的周号,换成具体的日期,求C#有自带函数!Sql的也行。千万别搞混了,不是根据日期求周号啊。

解决方案 »

  1.   

    頂你個肺,週 是 7天,你是7天都要??還是要一天??
    SQL  DatePart()  自己去組合
      

  2.   

    declare @i int
    set @i=2
    select dateadd(week,@i-datepart( week,getdate()),getdate())不是太准,好像和 SET DATEFIRST 所设置的值有关
      

  3.   

    我是有个统计, group by DATEPART(week,LogTime) 这样写的。在前台显示层,需要跟据 周号还原 时间范围, 譬如今年19周 假如是2010-5-3 -  2010-5-9 
      

  4.   

    IF OBJECT_ID('[fn_test]') IS NOT NULL
        DROP FUNCTION [fn_test]
    GO
    CREATE FUNCTION [fn_test](@I INT)
    RETURNS VARCHAR(21)
    AS
    BEGIN
    RETURN
    CONVERT(VARCHAR,DATEADD(WK,DATEDIFF(WK,0,DATEADD(WK,@I-1,DATENAME(YY,GETDATE()))),0),23)
    +'~'+CONVERT(VARCHAR,DATEADD(WK,DATEDIFF(WK,0,DATEADD(WK,@I-1,DATENAME(YY,GETDATE()))),0)+6,23)
    END
    GOSELECT dbo.fn_test(19)
    /*
    ---------------------
    2010-05-03~2010-05-09(1 行受影响)
    */
      

  5.   

    IF OBJECT_ID('[fn_test]') IS NOT NULL
        DROP FUNCTION [fn_test]
    GO
    CREATE FUNCTION [fn_test](
    @year int, --哪一年
    @i int,    --第几周
    @type bit --0 周日为第一天;1 周一为第一天
    )
    RETURNS varchar(21)
    AS
    BEGIN
    RETURN
    CONVERT(varchar,DATEADD(wk,DATEDIFF(wk,0,DATEADD(wk,@i-1,LTRIM(@year))),0)-(1-@type),23)
    +'~'+CONVERT(varchar,DATEADD(wk,DATEDIFF(wk,0,DATEADD(wk,@i-1,LTRIM(@year))),0)-(1-@type)+6,23)
    END
    GO
    SELECT dbo.fn_test(2010,19,1)
    /*
    ---------------------
    2010-05-03~2010-05-09(1 行受影响)
    */再修一下