funcția SQL IIF este noua funcție logică încorporată introdusă în SQL Server 2012. Putem considera SQL Server IIF ca mod prescurtarea de a scrie dacă altceva, și declarații de caz.funcția SQL Server IIF va accepta trei argumente. Primul argument este expresia booleană, care returnează adevărat sau fals. Dacă expresia IIF rezultă adevărat, atunci al doilea argument va fi returnat ca rezultat. În caz contrar, al treilea argument va reveni ca ieșire., Să vedem sintaxa SQL Server IIF funcția:

SQL IIF Logic Funcția Sintaxă:

sintaxa IIF în SQL Server este după cum urmează:

IIF (Boolean_Expression, True_Value, Flase_Value)

în Cazul dat expresie Booleană (sau test de condiție) este adevărat, atunci se va reveni True_Value. Și dacă este fals, atunci False_Value va fi returnat.acest exemplu vă va arăta funcționalitatea de lucru a funcției IIF în SQL Server

SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;

Din captura de ecran de mai jos, puteți observa această condiție în interiorul funcției IIF (adică.,, 10 > 5) este adevărat. Deci, prima declarație (sau al doilea argument) a revenit ca ieșire, ceea ce este ADEVĂRAT

SQL IIF Compara două variabile integer

În acest exemplu, vom folosi funcția IIF pentru a afla dacă persoana este eligibil pentru a vota sau nu.

Din captura de mai jos puteți observa că,

  • În prima instrucțiune SELECT, condiție în interiorul funcția IIF (de exemplu, 12 > 18) este falsă., Deci, a doua declarație (sau al treilea argument) a revenit ca ieșire
  • în a doua instrucțiune SELECT, condiție în interiorul funcției IIF (adică, 34 > 18) este adevărat. Deci, prima declarație (sau al doilea argument) a revenit ca ieșire

SQL IIF Compara doua siruri de caractere

În acest exemplu, vom folosi SQL Server funcția IIF pentru a compara date șir de caractere. Aici am folosit wildcard-ul ‘ % ‘ în a doua instrucțiune SELECT., Deci, vă sugerez să consultați articolul SQL ca în SQL Server pentru referințe suplimentare.

SQL Imbricate IIF exemplu

În acest exemplu, vom folosi Sql Server Imbricate funcția IIF pentru a afla dacă persoana este eligibil pentru a lucra sau nu.

  1. În primul rând, am declarat o variabilă întreagă numită @age și am atribuit o anumită valoare.
  2. în cadrul funcției IIF (), prima condiție verifică dacă vârsta este mai mică de 18 ani., Dacă această condiție este adevărată, atunci va returna prima afirmație (sau al doilea argument) după virgulă, adică sunteți prea tânăr pentru a lucra
  3. când prima condiție eșuează, returnează a doua declarație (sau al treilea argument). Folosind SQL Server imbricat IIF, verificăm încă o condiție aici (@age >= 18 și @age <= 60)., Dacă această condiție este adevărată, atunci returnează prima valoare după virgulă, care este sunteți eligibil să lucrați
  4. dacă condiția imbricată nu reușește, va executa valoarea la al treilea argument, care este sunteți prea bătrân pentru a lucra.,

IEȘIRE 1: Varsta = 12

Varsta = 32

Varsta = 65

SQL IIF Lucrează cu valori NULE

cel mai bine ar fi dacă ați fost atenți în timp ce lucrați cu valori NULE în interiorul funcția IIF. Următoarele serii de exemple vă vor ajuta să înțelegeți consecințele.,

SELECT IIF(10 > 5, NULL, NULL) AS Result;

Din poza de mai sus, se poate observa că acesta este aruncat o eroare. Spunând că cel puțin unul dintre expresia rezultat (adică, al doilea sau al treilea argument după Boolean_Expression) trebuie să fie o altă expresie decât constanta nulă., Să ne schimbați-le în mod corespunzător și să vedem

SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;

SQL IIF valori NULL Optiunea 2

putem depăși erorile care au avut loc de NULL constante în funcția IIF folosind parametrii.

DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;

IIF tip de Date cu cea mai mare prioritate

IIF funcția va returna tip de date cu cea mai mare prioritate., Din exemplul următor, rezultatul va fi al treilea argument (adică, 100) de tip întreg, dar rezultatul este afișat 100.00. Deoarece funcția IIF va returna tipul de date cu cea mai mare prioritate.

SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;

vă Rugăm să consultați DACĂ Altcineva și Declarație CAZ de articole.

Articles

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *