如何根据当前日期,取出下周一至下周六的日期值 DATEPART (dw, 时间)取日期的周 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 select dateadd(d,( 9-DATEPART(dw,getdate())),getdate()) --星期一select dateadd(d,(10-DATEPART(dw,getdate())),getdate()) --星期二select dateadd(d,(11-DATEPART(dw,getdate())),getdate()) --星期三select dateadd(d,(12-DATEPART(dw,getdate())),getdate()) --星期四select dateadd(d,(13-DATEPART(dw,getdate())),getdate()) --星期五select dateadd(d,(14-DATEPART(dw,getdate())),getdate()) --星期六 根据几个日期函数,套用一下就好了函数如下getdate()datepartdaymonthyear DATEPART ( datepart , date ) week (wk, ww) 日期部分反映对 SET DATEFIRST 作的更改。任何一年的 1 月 1 日定义了 week 日期部分的开始数字,例如:DATEPART(wk, 'Jan 1, xxxx') = 1,此处 xxxx 代表任一年。weekday (dw) 日期部分返回对应于星期中的某天的数,例如:Sunday = 1、Saturday = 7。weekday 日期部分产生的数取决于 SET DATEFIRST 设定的值,此命令设定星期中的第一天。date是返回 datetime 或 smalldatetime 值或日期格式字符串的表达式。对 1753 年 1 月 1 日之后的日期用datetime 数据类型。更早的日期存储为字符数据。当输入 datetime 值时,始终将其放入引号中。因为 smalldatetime 只精确到分钟,所以当用 smalldatetime 值时,秒和毫秒总是 0。如果只指定年份的最后两位数字,则小于或等于"两位数年份截止期"配置选项的值的最后两位数字的数字所在世纪与截止年所在世纪相同。大于该选项的值的最后两位数字的数字所在世纪为截止年所在世纪的前一个世纪。例如,如果 two digit year cutoff 为 2049 (默认),则 49 被解释为 2049,2050 被解释为 1950。为避免模糊,请使用四位数的年份。有关时间值指定的更多信息,请参见时间格式。有关日期指定的更多信息,请参见 datetime 和 smalldatetime。 返回类型int注释DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同义词。示例GETDATE 函数返回当前日期;然而,比较时并不总是需要完整的日期信息(通常只是对日期的一部分进行比较)。此示例显示 GETDATE 及 DATEPART 的输出。SELECT GETDATE() AS 'Current Date'GO下面是结果集:Current Date --------------------------- Feb 18 1998 11:46PM SELECT DATEPART(month, GETDATE()) AS 'Month Number'GO下面是结果集:Month Number ------------ 2 此示例假设日期是 5 月 29 日。SELECT DATEPART(month, GETDATE())GO下面是结果集:----------- 5 (1 row(s) affected)在此示例中,以数字表示日期。注意:SQL Server 将 0 解释为 01/01/1900。SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)下面是结果集:----- ------ ------1 1 1900 下星期一:select convert(varchar(10),dateadd(day,7-datepart(weekday,getdate())+2,getdate()),120)下星期六:select convert(varchar(10),dateadd(day,7-datepart(weekday,getdate())+7,getdate()),120) SQL数据库查询问题!! sql列转行问题 如何从datetime 里取得日期部份? NetFx20SP2_x86.exe安装问题 【求助】SQL汇总 一个SQL语句的问题。高手帮帮忙 紧急求援,SqlServer一个库最多能有多少个表?是无限制吗? 请教一个sql的问题 如何使用bcp命令将一整个数据库的数据copy下来?sos! 请教sql7.0数据库的数据备份问题 问个触发器的写法? 一个很简单的查询总是提示算术溢出,请大家指教,谢谢
select dateadd(d,(10-DATEPART(dw,getdate())),getdate()) --星期二
select dateadd(d,(11-DATEPART(dw,getdate())),getdate()) --星期三
select dateadd(d,(12-DATEPART(dw,getdate())),getdate()) --星期四
select dateadd(d,(13-DATEPART(dw,getdate())),getdate()) --星期五
select dateadd(d,(14-DATEPART(dw,getdate())),getdate()) --星期六
函数如下
getdate()
datepart
day
month
year
int注释
DAY、MONTH、和 YEAR 函数分别是 DATEPART(dd, date)、DATEPART(mm, date)、和 DATEPART(yy, date) 的同义词。示例
GETDATE 函数返回当前日期;然而,比较时并不总是需要完整的日期信息(通常只是对日期的一部分进行比较)。此示例显示 GETDATE 及 DATEPART 的输出。SELECT GETDATE() AS 'Current Date'
GO下面是结果集:Current Date
---------------------------
Feb 18 1998 11:46PM SELECT DATEPART(month, GETDATE()) AS 'Month Number'
GO下面是结果集:Month Number
------------
2 此示例假设日期是 5 月 29 日。SELECT DATEPART(month, GETDATE())
GO下面是结果集:-----------
5 (1 row(s) affected)在此示例中,以数字表示日期。注意:SQL Server 将 0 解释为 01/01/1900。SELECT DATEPART(m, 0), DATEPART(d, 0), DATEPART(yy, 0)下面是结果集:----- ------ ------
1 1 1900
select convert(varchar(10),dateadd(day,7-datepart(weekday,getdate())+2,getdate()),120)下星期六:
select convert(varchar(10),dateadd(day,7-datepart(weekday,getdate())+7,getdate()),120)