已知今年的周号,换成具体的日期,求C#有自带函数!Sql的也行。千万别搞混了,不是根据日期求周号啊。
解决方案 »
- SQL查询3月5号,然后把5号前10天和后10天的数据 都查出来咱们写?
- 创建存储过程时报:向变量赋值的 SELECT 语句不能与数据检索操作结合使用。如何解决?
- sp_grantdbaccess 'work\zhang','zhan' 加用户加不进?
- 怎么得到某个表所占的字节大小呢?
- 刚学server,真的很多问题不会,连数据库都连不上,大家帮帮忙!
- 跨数据库查询动态创建的数据表 报错“提供程序指定的架构或目录无效 'SQLOLEDB' ”,高手请进,在线等待,解决马上结题
- SQL Server2005密码问题
- 老手请进,帮忙解决,分数不够可以再送(在线)
- 建议增加informix论坛
- 这句sql怎么会死机?
- 为什么IF判断失误,不能正确输出
- 关于两个表的触发器问题该怎么写
SQL DatePart() 自己去組合
set @i=2
select dateadd(week,@i-datepart( week,getdate()),getdate())不是太准,好像和 SET DATEFIRST 所设置的值有关
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 行受影响)
*/
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 行受影响)
*/再修一下