sql >> Databáze >  >> RDS >> PostgreSQL

Klauzule SQL mezi se sloupci řetězců

Výraz

name between 'A' and 'B'

je ekvivalentní k

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

Takže 'Argentina' je>='A' a <='B' a splňuje podmínku. Ale 'Bolívie' NENÍ <='B'. 'Bolívie'>'B'. Nehledí jen na první písmeno:dívá se na celý řetězec. Což je jistě způsob, jak by to mělo být:pokud by to nedělalo, nebylo by možné říci, že jste chtěli řadu, která zahrnovala 'Smith', ale ne 'Smithers'.

Chcete-li dosáhnout toho, co chcete, můžete říci:

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

nebo:

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

nebo:

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


  1. Jak provést příkaz IF v SQL?

  2. Změňte sloupec MySQL tak, aby byl AUTO_INCREMENT

  3. Jak zobrazit stavové a systémové proměnné v MySQL Workbench pomocí GUI

  4. Získejte přístup k pohledu odborníků na summit MVP 2020