2013-07-25 15 views
9

Qualcuno può dirmi come posso selezionare DISTINCT dal mio database senza che sia sensibile alla distinzione tra maiuscole e minuscole?MySQL senza distinzione tra maiuscole e minuscole DISTINCT

La mia domanda è

SELECT DISTINCT email FROM `jm_order` 

I risultati porta fuori tutte le email nella tabella, ma ripete quelli con diversi casi. Questo è previsto perché i valori sono diversi caso per caso. es

[email protected] 
[email protected] 
[email protected] 
[email protected] 

Ma quello che voglio è che gli stessi messaggi di posta elettronica, per essere raggruppate a prescindere dal caso. Quale correzione posso apportare al mio SQL per impedirgli di ripetere ad esempio [email protected] e [email protected] solo perché sono casi diversi?

+0

Eventuali duplicati di [" SELECT DISTINCT "ignora casi diversi] (https://stackoverflow.com/questions/2644851/select-distinct-ignores-different-cases) –

risposta

15

tenta di utilizzare la funzione upper

SELECT DISTINCT UPPER(email) FROM `jm_order` 

è anche possibile utilizzare lower invece

SELECT DISTINCT LOWER(email) FROM `jm_order` 

More information.

+0

Great Thanks ... –

2

Prova questo:

SELECT DISTINCT LOWER(email) AS email 
FROM `jm_order` 
5

Se si desidera conservare il caso della e-mail (in modo che corrisponda in realtà una delle righe), si può fare:

select email 
from jm_order 
group by lower(email); 
Problemi correlati