Łatwy dla każdego, kto wie. W procedurach składowanych TSQL, jak napisać instrukcję if porównującą wartość bool. Będąc przyzwyczajony do C# zbyt długo, wkładam nawiasy klamrowe, okrągłe nawiasy klamrowe i wszystkie rodzaje i myślę, że robię to źle.Zapisana procedura T-SQL Jeśli sprawdzenie boolowskie
10
A
Odpowiedz
24
DECLARE @bool BIT = 1
IF @bool = 1
BEGIN
-- do stuff here
PRINT 'it was true';
END
ELSE
BEGIN
-- do other stuff here
PRINT 'it was not true';
END
Jeśli masz tylko jedną linię wewnątrz Jeśli więc don "Potrzebuję BEGIN
i END
, ale prawdopodobnie dobrą praktyką jest ich używanie w każdym razie.
3
Odpowiedni typ danych SQL do boolean jest bit, czyli 1 na prawdziwe i 0 dla false, więc:
IF(@Statement=1)
BEGIN
SELECT COUNT(*) FROM Table
END
ELSE
BEGIN
SELECT MIN(ID) FROM Table
END
END
+0
Dostałem tam dodatkowy "KONIEC". 'IF ... ELSE ...' nie kończy się słowem kluczowym 'END'. Potrzebujesz ich tylko dla każdego bloku 'BEGIN ... END' – KyleMit
gdzie się podzala? AFTER lub przed END? –
Dodałem do odpowiedzi klauzulę ELSE - przechodzi ona po KOŃCU. –