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.
- ensin julistimme kokonaislukumuuttujan nimeltä @age ja annoimme jonkin verran arvoa.
- 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
- 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ä
- 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.