|
Access függvényei Between...And operátor |
|||||||
---|---|---|---|---|---|---|---|---|
Between...And operátor Megadja, hogy egy kifejezés értéke a meghatározott tartományba esik-e. SQL-utasításokban használható. Szintaxis kifejezés [Not] Between érték1 And érték2 A Between...And operátor szintaxisa az alábbi részeket különbözteti meg:
Megjegyzés: Ha a kifejezés értéke érték1 és érték2 közé esik (vagy azokkal egyenlő), a Between...And operátor True (igaz), egyéb esetben pedig False (hamis) értéket ad vissza. A Not logikai operátor segítségével a kiértékelés feltétele ellenkezőjére fordítható (vagyis a vizsgálat arra irányul, hogy a kifejezés az érték1 és az érték2 által megadott tartományon kívülre esik-e). A Between...And segítségével meghatározható, hogy egy mező értéke a megadott tartományba esik-e. A következő példában azt ellenőrizzük, hogy szállítottunk-e árut olyan címre, amelynek irányítószáma a megadott tartományba esik. Ha az irányítószám 98101 és 98199 közötti, az IIf függvény „Local” (helyi), egyéb esetben „Nonlocal” (nem helyi) értékkel tér vissza. SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers Ha a kifejezés, érték1 vagy érték2 értéke Null , a Between...And visszatérési értéke Null lesz. Mivel a helyettesítő karaktereket (mint például a * karaktert) a rendszer ez esetben szövegkonstans-karakterláncként kezeli, a Between...And operátorral nem használhatók. A 980* és 989* kifejezésekkel például nem kereshető meg az összes 980 és 989 közé eső kezdetű irányítószám. Ilyen célra két módszert lehet alkalmazni. 1. A lekérdezés olyan kifejezéssel bővíthető, amely veszi a szövegmező három bal oldali karakterét, és ezeken értelmezi a Between...And operátort. 2. Az alacsony és magas értékek további karakterekkel tölthetők fel – ebben az esetben a 98000-ből 98999 lesz, illetve, ha kiterjesztett irányítószámokat használunk, akkor 98999 – 9999. (Az alsó határnál a – 0000 részt el kell hagyni, ellenkező esetben, ha egyes irányítószámok rendelkeznek kiterjesztéssel, mások pedig nem, a 98000-t a rendszer eldobja.) |
||||||||
|
Következő leckéhez klikkelje! |