Określa, czy wartość wyrażenia mieści się w pewnym zakresie. Tego operatora można używać w instrukcjach SQL.
Składnia
wyrażenie [Not] Betweenwartość1Andwartość2
Składnia operatora Between...And zawiera poniższe segmenty:
Segment |
Opis |
wyrażenie |
Wyrażenie identyfikujące pole zawierające dane, które mają zostać poddane ocenie. |
wartość1, wartość2 |
Wartości, z którymi ma być porównywane wyrażenie. |
Spostrzeżenia
Jeśli wartość wyr jest między wartością1 a wartością2 (włącznie), wartość Between... Operator zwraca wartość Prawda. w przeciwnym razie zwraca wartość False (Fałsz). Do oceny przeciwnego warunku można dołączyć operator logiczny Not (tj. czy wyrażenie leży poza zakresem zdefiniowanym przez wartość1 i wartość2).
Za pomocą operatora Between...And można określić, czy wartość pola mieści się w pewnym zakresie numerycznym. W przykładzie poniżej sprawdzono, czy dostawa została wysłana do lokalizacji z określonego zakresu kodów pocztowych. Jeśli kod pocztowy należy do przedziału od 98101 do 98199, funkcja IIf zwraca wartość „Local” (Lokalnie). W przeciwnym razie zwraca wartość „Nonlocal” (Międzystrefowo).
SELECT IIf(PostalCode Between 98101 And 98199, “Local”, “Nonlocal”) FROM Publishers
Jeśli wartość któregokolwiek z parametrów: wyrażenie, wartość1 lub wartość2 wynosi Null, operator Between...And zwraca wartość Null.
Ponieważ symbole wieloznaczne, takie jak *, są traktowane jako literały, nie można ich używać w połączeniu z operatorem Between...And. Na przykład w celu odszukania wszystkich kodów pocztowych rozpoczynających się od cyfr od 980 do 989 nie można użyć parametrów 980* i 989*. Istnieją jednak dwie inne metody realizacji tego zadania. Można dodać do zapytania wyrażenie, które będzie pobierało trzy pierwsze znaki pola od lewej strony, a następnie zastosować do tych znaków operator Between...And. Alternatywnie, do najniższej i najwyższej wartości można dodać więcej znaków — w tym przypadku od 98000 do 98999 lub od 98000 do 98999 – 9999, jeśli są używane rozszerzone kody pocztowe. (Dla dolnej wartości należy pominąć sekwencję – 0000, ponieważ jeśli niektóre kody pocztowe zawierają sekcję rozszerzoną, a inne nie, wartość 98000 będzie odrzucana).