PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

SQL Between-Klausel mit Zeichenfolgenspalten

Der Ausdruck

name between 'A' and 'B'

entspricht

name>='A' and name<='B'

Also ist 'Argentina'>='A' und <='B' und erfüllt die Bedingung. Aber 'Bolivien' ist NICHT <='B'. 'Bolivien'>'B'. Es betrachtet nicht nur den ersten Buchstaben, sondern die ganze Zeichenfolge. So sollte es sicherlich sein:Wenn es das nicht getan hätte, gäbe es keine Möglichkeit zu sagen, dass Sie ein Sortiment haben wollten, das „Smith“, aber nicht „Smithers“ enthält.

Um das zu erreichen, was Sie wollen, könnten Sie sagen:

substr(name,1,1) between 'A' and 'B'

oder:

name like 'A%' or name like 'B%'

oder:

name>='A' and name<'C'