SQL语句如果判断某个日期是当月的最后一周? RT 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 找出本月最后一天对应周几就出来了啊declare @term datetimedeclare @sdate datetimeselect @term=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'select @sdate=dateadd(day,-1,@term) --得到本月最后一天select datename(weekday,@sdate),@sdate --最后一天对应星期几--结果:星期四 2008-01-31 00:00:00.000 declare @rq datetime,@e_rq datetimeselect @rq=getdate() ----要判断的日期select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'select @e_rq=dateadd(day,-1,@e_rq) --得到判断日期当月的最后一天select case when datepart(week,@rq)=datepart(week,@e_rq) then convert(varchar(10),@rq,120)+'是本月最后一个星期' else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*2008-01-22不是本月最后一个星期*/ declare @rq datetime,@e_rq datetimeselect @rq=getdate() ----要判断的日期select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'select @e_rq=dateadd(day,-1,@e_rq) --得到判断日期当月的最后一天select case when datepart(week,@rq)=datepart(week,@e_rq) then convert(varchar(10),@rq,120)+'是本月最后一个星期' else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*2008-01-22不是本月最后一个星期*/ create function [dbo].[IsLastweek]( @yourDate datetime)RETURNS int AS begin declare @TempDate datetimedeclare @WeekNum intdeclare @LastWeekNum intset @TempDate = @yourDateselect @TempDate=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'select @TempDate=dateadd(day,-1,@TempDate) --本月最后一天select @LastWeekNum = datepart(wk,@TempDate)select @WeekNum = datepart(wk,@yourDate)select @WeekNum = (case @WeekNum when @LastWeekNum then 1 else 0 end)return @WeekNumendselect [dbo].[IsLastweek](cast('2008-01-03' as datetime))--------0 求SQL 2000语句 一电脑不能连接到UDL 如何删除数据表中已有的重复记录 求sql语句,varchar 字段,找出 断号!!查询帖子,无果,来提问。 请教SQLSERVER2000存储图像记录的速度 什么情况下会用到索引和触发器 高手帮忙解决一个SQL语句的问题! 在mysql里增加一列,列的值为行号 ▂▃▅▆█▓ 香港 大连 上海 ▂▃▅▆█▓ 三地数据库同步 数据库程序设计工作好找吗? 数据库设计的问题 关于聚集索引
declare @sdate datetime
select @term=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'
select @sdate=dateadd(day,-1,@term) --得到本月最后一天
select datename(weekday,@sdate),@sdate --最后一天对应星期几--结果:
星期四 2008-01-31 00:00:00.000
declare @rq datetime,@e_rq datetime
select @rq=getdate() ----要判断的日期
select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'
select @e_rq=dateadd(day,-1,@e_rq) --得到判断日期当月的最后一天
select case when datepart(week,@rq)=datepart(week,@e_rq)
then convert(varchar(10),@rq,120)+'是本月最后一个星期'
else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*
2008-01-22不是本月最后一个星期
*/
declare @rq datetime,@e_rq datetime
select @rq=getdate() ----要判断的日期
select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'
select @e_rq=dateadd(day,-1,@e_rq) --得到判断日期当月的最后一天
select case when datepart(week,@rq)=datepart(week,@e_rq)
then convert(varchar(10),@rq,120)+'是本月最后一个星期'
else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*
2008-01-22不是本月最后一个星期
*/
create function [dbo].[IsLastweek]
(
@yourDate datetime
)
RETURNS int AS
begin
declare @TempDate datetime
declare @WeekNum int
declare @LastWeekNum int
set @TempDate = @yourDate
select @TempDate=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'
select @TempDate=dateadd(day,-1,@TempDate) --本月最后一天
select @LastWeekNum = datepart(wk,@TempDate)
select @WeekNum = datepart(wk,@yourDate)
select @WeekNum = (case @WeekNum when @LastWeekNum then 1 else 0 end)
return @WeekNum
endselect [dbo].[IsLastweek](cast('2008-01-03' as datetime))
--------
0