ALTER PROCEDURE [dbo].[kssq_sq_rq](@sqtqts int) AS
declare @i int,@j int
set @i=(select substring(kssj,1,(len(kssj)-3)) from kssq_csb)
set @j=(select datepart(hh,getdate()))
if (@i>@j)
begin
if(datename(weekday,getdate())='星期六' or datename(weekday,getdate())='星期日' or datename(weekday,getdate())='星期一')
begin
if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期六')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+3,getdate()), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期日')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+2,getdate()), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期一')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+1,getdate()), 023) as rq
endSELECT CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023) as rq
end
else
begin
if(datename(weekday,getdate())='星期五' or datename(weekday,getdate())='星期六' or datename(weekday,getdate())='星期日')
begin
if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期五')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+3,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期六')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+2,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期日')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+1,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
endSELECT CONVERT(varchar(100),dateadd(day,@sqtqts,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
end
declare @i int,@j int
set @i=(select substring(kssj,1,(len(kssj)-3)) from kssq_csb)
set @j=(select datepart(hh,getdate()))
if (@i>@j)
begin
if(datename(weekday,getdate())='星期六' or datename(weekday,getdate())='星期日' or datename(weekday,getdate())='星期一')
begin
if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期六')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+3,getdate()), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期日')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+2,getdate()), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期一')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+1,getdate()), 023) as rq
endSELECT CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023) as rq
end
else
begin
if(datename(weekday,getdate())='星期五' or datename(weekday,getdate())='星期六' or datename(weekday,getdate())='星期日')
begin
if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期五')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+3,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期六')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+2,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
else if(datename(weekday,CONVERT(varchar(100),dateadd(day,@sqtqts,getdate()), 023))='星期日')
SELECT CONVERT(varchar(100),dateadd(day,@sqtqts+1,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
endSELECT CONVERT(varchar(100),dateadd(day,@sqtqts,CONVERT(varchar(100),dateadd(day,1,getdate()), 023)), 023) as rq
end
然后根据不同的星期,然后不同的内容。
这存储过程作用应该是根据传入的参数截取小时数与当小时比较,然后进行不同操作!
我觉得你可以看得懂,只是你的心理作用,一有困难就想到CSDN了。
(提问的前提是你必须已经大概看下这段代码的意思,若其中有部分代码的语法看不懂再问)
给你个建议吧!
你可以一步一步的进行调式,每一步都 PRINT出来,看看到底输出的是什么数据,这样慢慢的就会懂了,越是看不懂就越要看,否则SQL编程的进步会很慢的。有点啰嗦,见怪了!
datename,
CONVERT