PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

SQL Between клауза с колони с низове

Изразът

name between 'A' and 'B'

е еквивалентен на

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

Така че 'Аржентина' е>='A' и <='B' и удовлетворява условието. Но „Боливия“ НЕ е <=„B“. „Боливия“>„B“. Той не гледа само първата буква:той разглежда целия низ. Което със сигурност трябва да бъде:ако не направи това, нямаше да има начин да се каже, че искате диапазон, който включва „Smith“, но не и „Smithers“.

За да постигнете това, което искате, можете да кажете:

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

или:

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

или:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. невалидна последователност от байтове за кодиране на UTF8

  2. sql ПОРЪЧАЙТЕ ПО множество стойности в определен ред?

  3. INSERT с име на динамична таблица в тригерна функция

  4. Задаването на схема в PostgreSQL JDBC изглежда не работи

  5. Внедряване на Django + Python 3 + PostgreSQL към AWS Elastic Beanstalk