travail j'ai un bloc if else
dans ma procédure. La valeur d'une variable temporaire @timeID
est situé dans ce bloc selon la date d'aujourd'hui.bloc if..else pas SQL
declare @timeId int
if(datename(Dw,getdate())='Sunday' or datename(Dw,getdate())='Saturday')
begin
set @timeId=2
end
if(datename(Dw,getdate())!='Sunday' or datename(Dw,getdate())!='Saturday')
begin
if(convert(varchar(11),getdate(),108)<='08:30:00')
begin
set @timeId=0
end
else
begin
set @timeId=1
end
end
select @timeId as TimeID
Depuis aujourd'hui est samedi, @timeID
doit être égal à 2. Mais la sortie montre @timeId=1
qui se traduit par un mauvais résultat de ma procédure. S'il vous plaît aider à ce qui ne va pas.
select datename(Dw,getdate())
Retour samedi
Je suppose que la condition 'if (conversion (varchar (11), getdate(), 108) <= '08:30:00')' est faux et obtenir 'si (datename (Dw, getdate())! = 'Dimanche' ou datename (Dw, getdate())! = 'Samedi') 'est vrai. – TechDo