francesco.chianese
pubblicato più di 2 anni fa

Operatore Between in MySQL

Ricetta dedicata alla descrizione dell'operatore Between in MySQL

La clausola WHERE, in una query, permette di selezionare dalla tabella le righe che soddisfano certe condizioni. Nelle condizioni è possibile usare degli operatori di confronto. Uno di questi è BETWEEN. Con l’operatore BETWEEN la condizione risulta soddisfatta per le righe che hanno il valore della colonna specificata compreso in un certo intervallo, estremi inclusi. Ad esempio supponiamo di avere la tabella impiegato così valorizzata:

Codice Nome Cognome Telefono Stipendio
1 Paolo Rossi 0810000001 1000
2 Paolo Bianchi 0200000001 2000
3 Paolo Verde 0600000002 3000
4 giuseppe Rossi 0600000001 4000
5 giuseppe Verde 0410000001 5000
6 giuseppe Bianchi 0985000001 9000

La seguente query

1SELECT Nome, Cognome
2FROM impiegato
3WHERE Stipendio BETWEEN 2000 AND 4000;

dà il seguente risultato

Nome Cognome
Paolo Bianchi
Paolo Verde
giuseppe Rossi

Il confronto può essere effettuato anche tra caratteri, infatti la seguente query

1SELECT Nome, Cognome
2FROM impiegato
3WHERE Cognome BETWEEN 'AA' AND 'RZ';

estrae tutte le righe, limitatamente ai campi Nome e Cognome, dove la stringa Cognome comincia per AA, e seguendo un ordine alfabetico, fino a RZ. Il risultato della query è dunque il seguente

Nome Cognome
Paolo Bianchi
Paolo Rossi
giuseppe Bianchi
giuseppe Rossi

Come al solito, quando si opera con le stringhe di caratteri, c’è da fare attenzione quando una stringa è dichiarata come binario. Infatti in questo caso bisogna prestare attenzione alla differenza tra minuscole e maiuscole, ricordando che in formato binario (codice ASCII) le maiuscole vengono prima delle minuscole. Ad esempio la seguente query

1SELECT Nome, Cognome
2FROM impiegato
3WHERE Nome BETWEEN 'A' AND 'Z';

nel caso il campo Nome è dichiarato come VARCHAR, estrae tutti i record presenti in tabella in quanto le lettere ‘P’ e ‘g’ sono alfabeticamente contenute nell’intervallo, non essendoci differenza tra maiuscole e minuscole. Nel caso in cui è dichiarato come BLOB, o VARCHAR BINARY, estrae solamente le righe contenenti il nome Paolo, in quanto la lettera ‘g’, essendo minuscola si trova all’esterno dell’intervallo.

Condividi su:

Esprimi un voto:

  • Current rating: 0.0/5
  • 1
  • 2
  • 3
  • 4
  • 5

Argomenti chiave:

Ultimi commenti Ultimi commenti

Esegui il Login oppure registrati per scrivere un commento.
Cerca nel sito...
Ultime recipes

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL MySQL Report un tool di shell per tenere tutto sotto controllo

Un utilissimo tool di shell che effettua un dettagliato e comodo report su MySQL


Vai alla recipe

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL MySQLSniffer sniffare il traffico TCP di MySQL

Un utilissimo tool per sniffare il traffico Client/Server TCP/IP di MySQL


Vai alla recipe

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso myisamchk riparare file MyISAM

Verificare l'integrità, riparare gestire chiavi e memoria di tabelle MyISAM attraverso il file myisamchk


Vai alla recipe

Un tool per comprimere le tabelle MyISAM fino a oltre il 50% myisampack comprimere file MyISAM

Un tool per comprimere le tabelle MyISAM fino a oltre il 50%


Vai alla recipe

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun mysqlshow visualizzare le informazioni sul database MySQL

mysqlshow le info di base sui database, tabelle e colonne senza utilizzare alcun client


Vai alla recipe

Utilizzando UNION / UNION ALL su campi int unsigned zerofill,
ho notato che MysqlUNION / UNION ALL su campi int unsigned zerofill. di DebUsr
Vai al tip

Utilizzo di funzioni come alias di campo tramite l'impiego di prepared statementReport con alias di campo dinamici di john_revelator
Vai al tip

Può capitare che sia necessario eseguire un dump di database in formato Comma SeparatedEsecuzione dump in formato CSV (tabelle in engine MyIsam esportate in formato CSV) di ghigomatto
Vai al tip

E' possibile eseguire le query SQL contenute in un file di testo. Questo è utileEseguire le query da un file di testo di Sante Caserio
Vai al tip

Se vogliamo fare il backup di tutti i database con mysqldump, e ne abbiamo parecchiFare il backup di tutti i database di Sante Caserio
Vai al tip

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve,vorrei chiedervi un aiutino per una query che mi infastidisce un pò.
Ho 4 aiuto per una query! di fighterdorico Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic

Salve a tutti.

Ho una tabella con lettere accentate.
Le lettere vengono visualizzate ordinamento tabelle di ditch Vai al topic