Ich habe eine Abfrage geschrieben die Datensätze, die ÖFFNUNGSZEIT ist größer als die aktuelle Zeit und die Datumsdifferenz zwischen ÖFFNUNGSDATUM und dem aktuellen Datum sollte < = 3 und> = 0 sein, eigentlich für den Zweck der Benachrichtigung popup, die Ihnen sagt, welche Jobs werden innerhalb von 3 Tagen geöffnet. Sobald es geöffnet wird, sollten keine Datensätze ausgewählt werden, d. H. Die Datumsdifferenz ist 0 und die aktuelle Zeit wird größer als die erwähnte Öffnungszeit.Warum funktioniert meine Abfrage in keinem Szenario?
Jetzt funktioniert meine Abfrage in einigen Fällen wie das Aufnehmen von Datensätzen mit < = 3 und> = 0, aber nicht, wenn die aktuelle Zeit für jeden Tag größer als die Öffnungszeit wird. Da ich AND-Operator verwendet habe, wird es fehlgeschlagen, d. H. Wenn die Öffnungszeit 14:00 ist und die aktuelle Zeit 14:01 ist, dann < = 3 und> = 0 ebenfalls fehlschlägt.
Meine Frage:
Declare @NotificationAllowed bit
Set @NotificationAllowed= ISNULL((Select NotificationAllowed from Roles where RoleID= @RoleID),0)
IF @NotificationAllowed=1
BEGIN
Select @NotificationAllowed as IsAllowed, Works.NIT_No, Works.WorkNo, Works.WorkName, DATEDIFF(day, Convert(date,GETDATE()), Works.OpeningDate) as TotalDaysRemaining
,Convert(varchar(11), Works.OpeningDate, 106) as OpeningDate
from Works
Where DATEDIFF(day, Convert(date,GETDATE()), Works.OpeningDate) <=3
AND
DATEDIFF(day, Convert(date,GETDATE()), Works.OpeningDate) >=0
AND
CONVERT(varchar(5), Works.OpeningTime, 108) > CONVERT(varchar(5), GETDATE(), 108)
AND
Works.Organization_ID= Case When @RoleID=1 then Works.Organization_ID ELSE @OrgID end
END
ELSE
BEGIN
Select 0 as IsAllowed, '' AS NIT_No, '' AS WorkNo, '' AS WorkName, '' as TotalDaysRemaining, null as OpeningDate
END
https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/: Bitte schauen Sie auf diesen Link, um die Frage zu verbessern – TheGameiswar
@TheGameiswar danke Sir, ich werde, aber jetzt können Sie mir bei der Frage helfen? – Covert
Dies ist nicht beantwortbar, bitte nehmen Sie sich etwas Zeit, um den Link durchzugehen und ihn neu zu gestalten – TheGameiswar