Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    minuscolo e Maiuscolo usando like

    usando like nella query di ricerca, c'è modo di eliminare il case sensitive?

    che sia indifferente il maiuscolo dal minuscolo?

    Grazie.
    Giacomo

  2. #2
    Non riesco a chiuderlo.....

    Si è risolto da solo!
    boh!

  3. #3
    Anche se ti si è risolto da solo, potrebbe essere utile per altri.
    Quando si ha un dubbio se il DBMS sia impostato o meno con il case sensitive (cioè fa differenza o meno tra le lettere maiuscole e minuscole) e non si desisdera che questo accada si può intervenire cambiando il settaggio del DBMS (però magari ad altri che lo sfruttano potrebbe invece interessare che rimanga come era) oppure via SQL si può "trasfomare" etrambe le parti della condizione in maiuscolo (o minuscolo) esempio:

    UPPER(<field>) LIKE '%PIPPO%' --> condiziono al fatto che <field> contenga "PIPPO" se fosse case sensitive e il contenuto di <field> fosse ad esempio "Pippo e Paperino" in questo modo lo troverebbe perché prima di condizionare faccio un UPPER del campo uniformando tutto in maiuscolo; ovviamente poi devo confrontare con un "PIPPO" maiuscolo...
    Se ti stai approcciando all'argomento database dai uno sguardo anche a: SQL, database relazionale, regole di Codd, modello E-R, forme normali, normalizzazione con il mio testo: Semplicemente Database

  4. #4
    ... scusa, come faccio strtolower o strtoupper nel campo descrizione del DB ?
    (descrizione LIKE '%".$splsearch[$i]."%')

    ho messo (descrizione LIKE '%".strtolower($splsearch[$i])."%') or (descrizione LIKE '%".ucfirst($splsearch[$i])."%')

    Il problema sono le parole con caratteri maiuscoli in mezzo... come TeamSystem.

    Grazie.

    Quote Originariamente inviata da smartsql Visualizza il messaggio
    ...ambe le parti della condizione in maiuscolo (o minuscolo) esempio:

    UPPER(<field>) LIKE '%PIPPO%' --> condiziono al fatto che <field> contenga "PIPPO" se fosse case sensitive e il contenuto di <field> fosse ad esempio "Pippo e Paperino" in questo modo lo troverebbe perché prima di condizionare faccio un UPPER del campo uniformando tutto in maiuscolo; ovviamente poi devo confrontare con un "PIPPO" maiuscolo...
    Ultima modifica di Jacqui; 14-02-2014 a 00:05

  5. #5
    Si puo' definire se la ricerca deve rispettare le maiuscole/minuscole utilizzando la collation del charset.

    es: latin1_general_ci / latin1_general_cs
    utf8_bin / utf8_general_ci

    dove bin e _cs sono Case Sensitive mentre _ci Case Insensitive

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    Quote Originariamente inviata da Jacqui Visualizza il messaggio
    ... scusa, come faccio strtolower o strtoupper nel campo descrizione del DB ?
    (descrizione LIKE '%".$splsearch[$i]."%')

    ho messo (descrizione LIKE '%".strtolower($splsearch[$i])."%') or (descrizione LIKE '%".ucfirst($splsearch[$i])."%')

    Il problema sono le parole con caratteri maiuscoli in mezzo... come TeamSystem.

    Grazie.
    Potrebbe dipendere dal DBMS che usi (SQL-server, oracle o Myslq etc) ma dovrebbe andare bene per tutti LOWER(descrizione) per portare a minuscolo (il tuo caso dato che confronti con un stringa trasformata in minuscolo).
    Per il maiuscolo puoi usare UPPER(descrizione).
    Se ti stai approcciando all'argomento database dai uno sguardo anche a: SQL, database relazionale, regole di Codd, modello E-R, forme normali, normalizzazione con il mio testo: Semplicemente Database

  7. #7
    Grazie. Entrambi.

    Ho risolto il problema...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.