A maioria (provavelmente todos ) as linguagens de programação incluem alguma forma do
IF
instrução que permite aos programadores escrever código condicional. Ou seja, código que será executado apenas se uma determinada condição é verdadeira. É um conceito muito simples. Basicamente fica assim:
“Se isso, faça aquilo.”
A maioria das linguagens simplesmente o chama de
IF
, mas alguns têm seu próprio toque no nome (por exemplo, no ColdFusion/CFML, é chamado de CFIF
). Em qualquer caso, eles essencialmente fazem a mesma coisa.
No SQL Server (ou mais precisamente, sua linguagem de programação T-SQL) é chamado de
IF
. Exemplo
Aqui está um exemplo básico para demonstrar como o
IF
declaração funciona. IF 1 < 2 SELECT 'True';
Resultado:
True
Nesse caso, a expressão a ser avaliada é
1 < 2
. É verdade que 1 é menor que 2, então o SELECT
declaração foi executada e True
foi devolvido. No entanto, se a expressão for falsa, nada acontecerá.
O exemplo a seguir demonstra isso:
IF 1 > 2 SELECT 'True';
Resultado:
Commands completed successfully.
Tudo o que o SQL Server me disse é que o comando foi concluído com êxito. Nada mais foi retornado, porque nada mais foi especificado.
A declaração SE... ELSE
No SQL Server, o
IF
declaração vem com um opcional ELSE
, que permite fornecer uma alternativa, caso a expressão retorne false. Portanto, é como dizer “SE isso, faça isso, ELSE, faça isso”.
Neste caso, podemos adicionar o opcional
ELSE
para o IF
declaração, para que se torne um IF... ELSE
demonstração. IF 1 > 2
SELECT 'True';
ELSE
SELECT 'False';
Resultado:
False
Agora também obtemos um resultado quando a expressão é falsa.
Declarações IF aninhadas
Uma das grandes vantagens do
IF
instruções é que você pode aninhá-las. Ou seja, você pode adicionar mais IF
declarações dentro do seu original, e mais dentro daqueles etc. Você pode aninhar quantos
IF
declarações como você gosta. Você está limitado apenas pela quantidade de memória disponível. Aqui está um exemplo de aninhamento de um
IF
declaração dentro de outra. DECLARE @bankBalance int = 123;
IF @bankBalance > 100
IF @bankBalance > 150
SELECT 'Rich!';
ELSE
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultado:
Wealthy
SE… ELSE IF Declarações
Você também pode usá-lo como um
IF... ELSE IF
demonstração. DECLARE @bankBalance int = 123;
IF @bankBalance > 150
SELECT 'Rich!';
ELSE IF @bankBalance > 100
SELECT 'Wealthy';
ELSE
SELECT 'Poor';
Resultado:
Wealthy