sql >> Database teknologi >  >> RDS >> PostgreSQL

SQL Between-sætning med strenge kolonner

Udtrykket

name between 'A' and 'B'

svarer til

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

Så 'Argentina' er>='A' og <='B', og det opfylder betingelsen. Men 'Bolivia' er IKKE <='B'. 'Bolivia'>'B'. Det ser ikke kun på det første bogstav:det ser på hele strengen. Hvilket helt sikkert er sådan det burde være:Hvis det ikke gjorde dette, ville der ikke være nogen måde at sige, at du ville have en række, der inkluderede 'Smith', men ikke 'Smithers'.

For at opnå det, du ønsker, kan du sige:

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

eller:

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

eller:

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


  1. Mysql:hvordan vælger man grupper med bestemte værdier?

  2. Bedste måde at nulstille en Oracle-sekvens til den næste værdi i en eksisterende kolonne?

  3. Grupperet aggregeret pushdown

  4. Konverter MySQL-skema til Github Wiki?