SQL IIF-funktio on uusi sisäänrakennettu Looginen toiminto käyttöön SQL Server 2012. Voimme pitää SQL Server IIF pikakirjoitustapana, jos muu, ja CASE lausunnot.

SQL Server IIF-toiminto hyväksyy kolme argumenttia. Ensimmäinen argumentti on Boolilainen ilmaisu, joka palaa todellisena tai vääränä. Jos IIF-lauseke pitää paikkansa, toinen argumentti palautetaan tämän seurauksena. Muuten kolmas argumentti palaa tuotoksena., Katsotaan, syntaksin SQL Server IIF-funktio:

SQL IIF Looginen Toiminto Syntaksi:

syntaksin IIF SQL Server on seuraava:

IIF (Boolean_Expression, True_Value, Flase_Value)

Jos annetaan Boolen lauseke (tai testi-tila) on totta, niin se palaa True_Value. Ja jos se on väärä, niin False_Value palautetaan.

SQL IIF Vertaamalla kaksi kokonaislukua

Tämä esimerkki näyttää, työ-toiminnallisuus IIF-funktio SQL Server

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

alla kuvakaappaus, voit nähdä, että Kunnossa sisältä IIF-funktio (ts.,, 10 > 5) on totta. Joten, ensimmäinen lause (tai toinen argumentti) palasi tuotokseksi, mikä on TOTTA,

SQL IIF Vertailla kahden integer-muuttujia

tässä esimerkissä aiomme käyttää IIF-funktio löytää, onko henkilö on äänioikeutettu vai ei.

alla kuvakaappaus voit nähdä, että,

  • ensimmäisten SELECT, kunnossa sisältä IIF-funktio (eli 12 > 18) on väärä., Niin, toisen lausuman (tai kolmas argumentti) palasi tuotos
  • Sisällä toinen SELECT-käskyn ehto sisällä IIF-funktio (eli 34 > 18) on totta. Joten, ensimmäinen lause (tai toinen argumentti) palasi tuotos

SQL-JOS Vertaa kaksi merkkijonoa

tässä esimerkissä aiomme käyttää SQL Server IIF-funktio verrata string tiedot. Täällä, käytimme ’%’ wildcard sisällä toinen SELECT., Niin, ehdotan, että viittaat SQL kuten artikkeli SQL Server lisätietoja.

SQL Sisäkkäisiä IIF esimerkki

tässä esimerkissä aiomme käyttää Sql Server Sisäkkäisiä IIF-funktio löytää, onko henkilö on oikeutettu toimimaan vai ei.

  1. ensin julistimme kokonaislukumuuttujan nimeltä @age ja annoimme jonkin verran arvoa.
  2. IF () – funktiossa ensimmäinen ehto varmistaa, onko ikä alle 18 vuotta., Jos tämä ehto on Tosi, niin se palaa ensimmäisen lausuman (tai toinen argumentti) pilkun jälkeen, joka on Olet liian Nuori Töihin
  3. Kun ensimmäinen ehto epäonnistuu, se palaa toisen lausuman (tai kolmas argumentti). Käyttämällä SQL Server Sisäkkäisiä IIF, olemme tarkkailun yksi ehto täällä (@ikä >= 18 JA @ikä <= 60)., Jos tämä ehto on Tosi, niin se palauttaa ensimmäisen arvon jälkeen pilkku, joka on Olet oikeutettu Työtä
  4. Jos Sisäkkäisiä ehto epäonnistuu, se tulee suorittaa arvo kolmas argumentti, joka on, Olet liian Vanha Töihin.,

LÄHTÖ 1: Ikä = 12

Ikä = 32

Ikä = 65

SQL IIF kanssa NULL-arvot

– Se olisi parasta, jos olisit varovainen, kun olet työskennellyt NULL-arvojen sisällä IIF-funktio. Seuraavat esimerkit auttavat sinua ymmärtämään seuraukset.,

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

edellä kuvakaappaus, voit nähdä, että se heittää virheilmoituksen. Sanomalla, että ainakin yhden tulosilmaisun (eli toisen tai kolmannen argumentin Boolean_ekspression jälkeen) on oltava jokin muu ilmaisu kuin NOLLAVAKIO., Anna meille muuttaa niitä vastaavasti ja nähdä,

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

SQL IIF arvot ovat NULL, Vaihtoehto 2

– Emme voi voittaa ilmennyt virheitä, joita NULL vakioiden IIF-funktion parametrien avulla.

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

IIF Tietojen tyyppi, jolla on korkein etusija

IIF-funktio palauttaa tietojen tyyppi, jolla on korkein etusija., Tästä seuraava esimerkki, tulos on kolmas argumentti (eli 100) tyyppi kokonaisluku, mutta tulos on näyttävä 100.00. Koska IIF-funktio palauttaa korkeimman ennakkotapauksen tietotyypin.

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

katso, JOS Else-ja CASE-Selvitys artikkeleita.

Articles

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *