CASE ER -funktio
CASE
-funktio arvioi määritetyn lausekkeen arvon määritettyjen vaihtoehtoisten asetusten mukaan ja palauttaa ensimmäisen vaihtoehdon tuloksen, joka on yhtä suuri kuin määritetyn lausekkeen arvo. Muussa tapauksessa se palauttaa valinnaisen oletustuloksen, jos oletustulos määritetään kutsutussa funktiossa viimeisenä argumenttina, jota ei edellä vaihtoehto. Palautettava arvo voi olla minkä tahansa tuettujen tietotyyppien arvo.
Syntaksi
CASE (expression, option 1, result 1[, option 2, result 2, …, option N, result N, default result])
Argumentit
expression
: Primitiivinen tietotyyppi (totuusarvo, numeerinen tai teksti)
Kelvollinen lauseke, joka palauttaa primitiivisen tietotyypin arvon.
option 1
: Primitiivinen tietotyyppi (totuusarvo, numeerinen tai teksti)
Kelvollinen lauseke, joka palauttaa saman primitiivisen tietotyypin arvon kutsutun funktion expression
-argumentiksi. Tämä argumentti on pakollinen.
result 1
: Jokin tuetuista tietotyypeistä
Edellistä vaihtoehtoa vastaava palautettu tulos. Tämä argumentti on pakollinen.
option N
: Primitiivinen tietotyyppi (totuusarvo, numeerinen tai teksti)
Kelvollinen lauseke, joka palauttaa saman primitiivisen tietotyypin arvon kutsutun funktion expression
-argumentiksi. Tämä argumentti on valinnainen.
result N
: Jokin tuetuista tietotyypeistä
Edellistä vaihtoehtoa vastaava palautettu tulos. Tämä argumentti on valinnainen.
default result
: Jokin tuetuista tietotyypeistä
Tulos, joka tulisi palauttaa, jos vastaavuutta ei ole. Tämä argumentti on valinnainen.
Palautusarvot
Jokin tuetuista tietotyypeistä
Minkä tahansa tuettujen tietotyyppien tulokseksi saatava arvo.
Käyttöhuomautukset
Poikkeus on heitetty suorituksen aikana, jos vastaavuutta ei ole ja valinnaista oletustulosta ei ole määritetty.
Kaikki tulokset on määritettävä käyttämällä samaa tietotyyppiä. Poikkeus on heitetty suunnittelun aikana, jos määritettyjen tulosten tietotyypit eivät vastaa toisiaan.
Jos ensimmäinen tulosarvo ja N:s arvo ovat Säilön (tietueen) tai Tietueluettelon tietotyypin arvoja, tuloksessa on vain kentät, jotka ovat molemmissa arvoissa.
Esimerkki
CASE( DATETIMEFORMAT( NOW(), "MM"), "10", "WINTER", "11", "WINTER", "12", "WINTER", "")
palauttaa merkkijonon TALVI, jos nykyinen sovellusistunnon päivämäärä on loka-joulukuun välissä. Muussa tapauksessa se palauttaa tyhjän merkkijonon.