BETWEEN
viene utilizzato utilizzato in una clausola WHERE
per selezionare un intervallo di dati tra due valori.
Se sono corretto se l'endpoint dell'intervallo è escluso o meno è specifico per DBMS.
Quello che non riesco a capire il seguente:
Se ho una tabella di valori e faccio la seguente query:SQL TRA per il testo rispetto ai valori numerici
SELECT food_name FROM health_foods WHERE calories BETWEEN 33 AND 135;
la query restituisce i risultati righe compreso calorie = 33 e calorie = 135 (ovvero i punti finali di gamma sono inclusi).
Ma se faccio:
SELECT food_name FROM health_foods WHERE food_name BETWEEN 'G' AND 'O';
faccio non ottenere righe con food_name a cominciare O
. Cioè la fine dell'intervallo è escluso.
per la query per funzionare come previsto digito:
SELECT food_name FROM health_foods WHERE food_name BETWEEN 'G' AND 'P';
La mia domanda è perché c'è una tale differenza per BETWEEN
per i numeri ei dati di testo?
possibile duplicato di [SQL Tra clausola con le stringhe colonne] (http://stackoverflow.com/questions/5980783/sql-between-clause-with-strings-columns) – Kermit