SQL Server关于星期的处理(日期处理)
2016-03-28 20:54
357 查看
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON go --创建定时赛自动开启作业 create procedure ContestTask as begin set nocount on declare @_weekday int --星期几 declare @_currentdate datetime--当前时间 declare @_currentYMD varchar(20)--当前年月日 declare @_room_char varchar(50) declare @_room_datatime datetime--房间时间 declare @_month_last datetime--本月的最后一天 set @_currentdate=getdate()--获得当前时间 set @_weekday=datepart(dw,@_currentdate) select @_currentYMD=CONVERT(varchar(20),@_currentdate, 23)--获得年月日 select @_month_last=DATEADD(Day,-1,CONVERT(char(8),DATEADD(Month,1,@_currentdate),120)+'1')--获取本月最后一天 if @_weekday>=2 and @_weekday<=6--周一到周五(开三个房间) begin set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=1 set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=2 set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=3 end if @_weekday=1 or @_weekday=7--周六,周日(开五个房间) begin set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=1 set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=2 set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=3 set @_room_char=@_currentYMD+' 16:00:00'--设置房间4时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=4 set @_room_char=@_currentYMD+' 17:00:00'--设置房间5时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=5 end if DATEDIFF(d,@_currentdate,@_month_last)=0--月末(开六个房间) begin set @_room_char=@_currentYMD+' 18:00:00'--设置房间1时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=1 set @_room_char=@_currentYMD+' 19:00:00'--设置房间2时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=2 set @_room_char=@_currentYMD+' 20:00:00'--设置房间3时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=3 set @_room_char=@_currentYMD+' 16:00:00'--设置房间4时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=4 set @_room_char=@_currentYMD+' 17:00:00'--设置房间5时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=5 set @_room_char=@_currentYMD+' 20:00:00'--设置房间6时间 select @_room_datatime=CAST(@_room_char as datetime) update TContestInfo set StartTime=@_room_datatime where ContestID=6 end end
相关文章推荐
- mac安装mysql和修改mysql密码
- oracle单引号和双引号的区别
- MySQL 数据库实现远程连接
- Wampserver #1045 无法登录 mysql 服务器
- Mysql Explain 详解
- mysql查看表结构的几种方式
- SQL内部培训第一课-gosun
- 数据库-T-SQL 语句-高级查询
- MFC ado 连接sql server提示未知错误
- SQL第一次内部培训-gosun
- 网上书店数据库设计
- 如何使用sql语句使你的数据库减肥,下面以网狐6603数据库减肥脚本举例!
- 完整java开发中JDBC连接数据库代码和步骤
- 简述什么是T-SQL
- Mysql To Charts(五)--routers文件
- 解决No module named _sqlite3的问题
- oracle中sql语句的优化
- Navicat for MySQL每次打开数据库时,总是弹出“取得ER图表信息”框的解决方法
- 针对mysql基础数据类型测试
- Install Oracle 10g on Red Hat Linux 5.3 Step by Step