获取某一年某周的时间范围算法 select getdate()-datepart(dw,getdate())+1,getdate()+7-datepart(dw,getdate()) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --如果按星期天是第一天的话select 开始时间=getdate()-datepart(dw,getdate())+1,结束时间=getdate()+7-datepart(dw,getdate())/*开始时间 结束时间 ------------------------------------------------------ ------------------------------------------------------ 2009-03-29 20:39:49.420 2009-04-04 20:39:49.420*/ select dateadd(wk,datediff(wk,0,getdate()),0) 周一,dateadd(wk,datediff(wk,0,getdate()),0)+6 周日周一 周日----------------------- -----------------------2009-03-30 00:00:00.000 2009-04-05 00:00:00.000(1 行受影响) 错了,以上是按周一为第一天,以下按周日为第一天:select dateadd(wk,datediff(wk,0,getdate()),0)-1 周日,dateadd(wk,datediff(wk,0,getdate()),0)+6-1 周六周日 周六----------------------- -----------------------2009-03-29 00:00:00.000 2009-04-04 00:00:00.000(1 行受影响) DECLARE @Year INT,@Week INT;SELECT @Year=2009,@Week=14;DECLARE @date DATETIME;SET @date=DATEADD(week,@Week-1,DATEADD(year,(@Year-1900),0));SET @date=DATEADD(day,DATEPART(weekday,@date)+2,@date)SET @date=DATEADD(day,-DATEPART(weekday,@date)+1,@date)SELECT @date AS start_dt,@date+6/*start_dt ----------------------- -----------------------2009-04-05 00:00:00.000 2009-04-11 00:00:00.000(1 行受影响)*/ 问一复杂困难问题, 关于text字段长度大于8000的替换问题。 我想查找某条信息,比如姓名张三的人在那些表都出现,大家一般都怎么做? 一个SQL语句的问题 時間函數 对一个表(三个键作为主键)进行分组统计,急!谢谢! 怎样在没有安装SQL Server的机器上检测出局域网上所有当前活动的SQL Server服务器? 求通话时间差 一直不断地高速向SQL SERVER写入数据,SQL SERVER能保证数据不丢失么,请高手告知。 打开的recordset为"" 这是为什么,在线 在群集中sql server2000的2040补丁为什么打不上去呢? 远程表更新?
select 开始时间=getdate()-datepart(dw,getdate())+1,结束时间=getdate()+7-datepart(dw,getdate())
/*
开始时间 结束时间
------------------------------------------------------ ------------------------------------------------------
2009-03-29 20:39:49.420 2009-04-04 20:39:49.420
*/
周一 周日
----------------------- -----------------------
2009-03-30 00:00:00.000 2009-04-05 00:00:00.000(1 行受影响)
select dateadd(wk,datediff(wk,0,getdate()),0)-1 周日,dateadd(wk,datediff(wk,0,getdate()),0)+6-1 周六
周日 周六
----------------------- -----------------------
2009-03-29 00:00:00.000 2009-04-04 00:00:00.000(1 行受影响)
SELECT @Year=2009,@Week=14;DECLARE @date DATETIME;SET @date=DATEADD(week,@Week-1,DATEADD(year,(@Year-1900),0));SET @date=DATEADD(day,DATEPART(weekday,@date)+2,@date)SET @date=DATEADD(day,-DATEPART(weekday,@date)+1,@date)SELECT @date AS start_dt,@date+6/*
start_dt
----------------------- -----------------------
2009-04-05 00:00:00.000 2009-04-11 00:00:00.000(1 行受影响)
*/