Většina (pravděpodobně všechny ) programovací jazyky obsahují určitou formu IF příkaz, který umožňuje programátorům psát podmíněný kód. Tedy kód, který se spustí pouze pokud určitá podmínka je pravdivá.
Je to velmi jednoduchý koncept. V zásadě to vypadá takto:
"Pokud toto, udělejte to."
Většina jazyků to jednoduše nazývá IF , ale některé mají svůj vlastní překroucený název (například v ColdFusion/CFML se nazývá CFIF ).
V každém případě dělají v podstatě totéž.
V SQL Server (nebo přesněji v jeho programovacím jazyce T-SQL) se nazývá IF .
Příklad
Zde je základní příklad, který ukazuje, jak IF výpis funguje.
IF 1 < 2 SELECT 'True'; Výsledek:
True
V tomto případě je výraz k vyhodnocení 1 < 2 . Je pravda, že 1 je menší než 2, takže SELECT příkaz byl spuštěn a True byl vrácen.
Pokud je však výraz nepravdivý, nic se nestane.
Následující příklad to ukazuje:
IF 1 > 2 SELECT 'True'; Výsledek:
Commands completed successfully.
Vše, co mi SQL Server řekl, je, že příkaz byl úspěšně dokončen. Nic jiného nebylo vráceno, protože nebylo uvedeno nic jiného.
Prohlášení IF… ELSE
V SQL Server, IF příkaz je dodáván s volitelným ELSE , což vám umožňuje poskytnout alternativu v případě, že výraz vrátí hodnotu false.
Proto je to jako říkat „Jestli toto, udělejte toto, JINÉ, udělejte toto“.
V tomto případě můžeme přidat volitelný ELSE do IF příkaz, takže se stane IF... ELSE prohlášení.
IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False'; Výsledek:
False
Nyní také dostaneme výsledek, když je výraz nepravdivý.
Vnořené příkazy IF
Jedna ze skvělých věcí na IF příkazy je, že je můžete vnořit. To znamená, že můžete přidat více IF prohlášení uvnitř vašeho původního a další v nich atd.
Můžete vnořit tolik IF prohlášení, jak chcete. Jste omezeni pouze množstvím dostupné paměti.
Zde je příklad vnoření IF prohlášení uvnitř jiného.
DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor'; Výsledek:
Wealthy
IF… ELSE IF příkazy
Můžete jej také použít jako IF... ELSE IF prohlášení.
DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor'; Výsledek:
Wealthy