BETWEEN-Operator

Der BETWEEN-Operator wird unter SQL in Suchbedingungen z.B. in WHERE- und HAVING-Klauseln benutzt. Es können Wertebereiche abgefragt werden, wobei die Grenzwerte mit eingeschlossen sind. Simuliert werden kann der Operator mit "<="- und ">="-Abfragen. Mit NOT kann die Funktionalität invertiert werden. Bei alphanumerischen Feldern wird der Feldinhalt in ASCII-Code umgewandelt und dann verglichen. Ist einer der Ausdrücke leer (NULL), dann wird die Bedingung im Sinne der dreiwertigen Logik zu UNKNOWN ausgewertet.

Syntax des SQL-/Oracle-BETWEEN-Operators:

  <Suchbedingung BETWEEN-Operator>  :=
          <Ausdruck> [NOT] BETWEEN <Ausdruck1>
                           AND     <Ausdruck2>

Der Ausdruck1 muss kleiner als der Ausdruck2 sein.

Beispiele:

   SELECT Nachname, Vorname,Gehalt         -- Welche Angestellten verdienen zwischen 3000 und 3600 €?
   FROM Angestellte 
   WHERE Gehalt BETWEEN 3000 AND 3600;

   SELECT Nachname, Vorname,Gehalt         -- simuliert mit den Basisoperatoren "<=" und ">="
   FROM Angestellte 
   WHERE Gehalt >= 3000 AND Gehalt <= 3600;

Quellen:

  • INCITS/ISO/IEC 9075-1-2008. Part 1 "SQL/Framework", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • INCITS/ISO/IEC 9075-1-2008. Part 2 "SQL/Foundation", ISO International Organization for Standardization / INCITS InterNational Committee for Information Technology Standards, 2008
  • Elmasri, Ramez/Navathe, Shamkant B.: "Grundlagen von Datenbanksystemen" , Pearson Studium, München, 2002, ISBN 3-8273-7021-3
  • Melton, Jim/Simon, Alan R.: "SQL: 1999 - Understanding Relational Language Components", Morgan Kaufmann, San Francisco, 2001, ISBN 1558604561
  • Oracle® Database SQL Language Reference 11g Release 2 (11.2), E17118-03, August 2010, http://download.oracle.com/docs/cd/E11882_01/server.112/e17118.pdf
  • Saake, Gunter/Sattler, Kai-Uwe/Heuer, Andreas: "Datenbanken - Konzepte und Sprachen", mitp-Verlag, Redline GmbH, Heidelberg, 2007, ISBN 3-8266-1664-2

Kategorien: SQL, B