Wyrażenie
name between 'A' and 'B'
jest odpowiednikiem
name>='A' and name<='B'
Tak więc 'Argentyna' to>='A' i <='B' i spełnia warunek. Ale 'Boliwia' NIE jest <='B'. „Boliwia”> „B”. Nie patrzy tylko na pierwszą literę:patrzy na cały ciąg. I z pewnością tak powinno być:gdyby tego nie zrobił, nie byłoby sposobu, by powiedzieć, że chciałeś zakres obejmujący „Smith”, ale nie „Smithers”.
Aby osiągnąć to, czego chcesz, możesz powiedzieć:
substr(name,1,1) between 'A' and 'B'
lub:
name like 'A%' or name like 'B%'
lub:
name>='A' and name<'C'