Visualizzazione dei risultati da 1 a 10 su 18

Hybrid View

  1. #1
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Per rendere case insensitive usare lower o upper

    nella select ... lower(username) = lower($username)
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  2. #2
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Per rendere case insensitive usare lower o upper

    nella select ... lower(username) = lower($username)
    Uhmmm soluzione non troppo brillante a parer mio:
    se mi iscrivo a un forum come Mt19, quando scrivo vorrei vedere il mio nome con le rispettive maiuscole. Col tuo metodo dovrei, al momento della registrazione, salvare ogni nome tutto in minuscolo o in maiuscolo.

    In ogni caso sono quasi sicuro che scrivere, per esempio, un select con

    WHERE username = 'Mt19'
    e
    WHERE username='mt19'
    dovrebbe produrre lo stesso risultato.

    Facendo una rapida ricerca ho trovato questo:
    http://stackoverflow.com/a/9807669

    Difatti, nello stesso 3d, qualche risposta sotto, propongono l'utilizzo di collate per il case sensitive:
    http://stackoverflow.com/a/18627707

  3. #3
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,373
    Quote Originariamente inviata da mt19 Visualizza il messaggio
    Uhmmm soluzione non troppo brillante a parer mio:
    se mi iscrivo a un forum come Mt19, quando scrivo vorrei vedere il mio nome con le rispettive maiuscole. Col tuo metodo dovrei, al momento della registrazione, salvare ogni nome tutto in minuscolo o in maiuscolo.

    In ogni caso sono quasi sicuro che scrivere, per esempio, un select con

    WHERE username = 'Mt19'
    e
    WHERE username='mt19'
    dovrebbe produrre lo stesso risultato.

    Facendo una rapida ricerca ho trovato questo:
    http://stackoverflow.com/a/9807669

    Difatti, nello stesso 3d, qualche risposta sotto, propongono l'utilizzo di collate per il case sensitive:
    http://stackoverflow.com/a/18627707
    Non troppo brillante ?
    Ma conosci sql ? where lower(username) = lower($username) mette in minuscole soltanto nella clausola non nel db. Quindi se vuoi confrontare PippO = piPPo fai lower(PippO) = lower(piPPo) -> pippo = pippo. Tutto qua.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  4. #4
    Utente di HTML.it L'avatar di mt19
    Registrato dal
    Jul 2011
    Messaggi
    180
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Non troppo brillante ?
    Ma conosci sql ? where lower(username) = lower($username) mette in minuscole soltanto nella clausola non nel db. Quindi se vuoi confrontare PippO = piPPo fai lower(PippO) = lower(piPPo) -> pippo = pippo. Tutto qua.
    Ahhh ops, avevo frainteso, pensavo lo facessi a livello di PHP, non di SQL.

    Comunque adesso ne sono sicuro: MySQL è case insensitive, che io scriva:

    SELECT * FROM mydaxter WHERE username='mt19';
    o
    SELECT * FROM mydaxter WHERE username='Mt19';
    o
    SELECT * FROM mydaxter WHERE username='mT19';
    o
    SELECT * FROM mydaxter WHERE username='MT19';

    Mi da sempre lo stesso risultato, mentre se scrivo:
    SELECT * FROM mydaxter WHERE BINARY username='mt19';
    mi viene fuori un risultato, se scrivo:
    SELECT * FROM mydaxter WHERE BINARY username='Mt19';
    o in tutti gli altri modi i risultati sono 0.
    Ultima modifica di mt19; 24-08-2014 a 21:51

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.