[Primipassi] Dubbio SQL

Alessandro Cardia a.cardia@arpat.toscana.it
Mar 25 Set 2001 10:41:18 CEST


>Voglio cercare una stringa in tutti i campi di una tabella.
>
>Attualmente prendo la stringa, la porto uppercase e poi eseguo questa query:
>
>SELECT * FROM tabella where upper(nome) like '%STRINGA%';
>
>Cosi' pero' cerco soltanto nel campo 'nome'. Ora, visto che upper(*)
>non funziona poi cosi' bene, cosa suggerite?

Premesse:
- non sono un esperto di SQL nč di Database
- utilizzo MySQL con Apache e PHP

ho avuto la tua stessa esigenza, e l'ho risolta esattamente come te,
con due cicli:

ciclo1 sulle tabelle del database
         ciclo2 sui campi di ogni singola tabella
         end
end
L'output finisce in una <table></table>

Una valida alternativa potrebbe essere l'uso di

         MATCH (lista colonne) AGAINST (espressione)

che implica perņ la creazione preventiva di un indice fulltext
sulla/e tabella/e.
Non so perņ se si tratta di SQL standard o piuttosto di una
possibilitą offerta solo da MySQL dalla v. 3.23.23 in poi.

Saluti,

Alessandro

| ===========================================
| Alessandro Cardia
| ===========================================
| A.R.P.A.T.
|    Agenzia Regionale per la Protezione
|    Ambientale della Toscana
|
| Settore Tecnico S.I.R.A
|    Sistema Informativo Regionale Ambientale
|
| Via Nicola Porpora, 22 - 50144 Firenze
|
| Tel.: +39 055 3206 487 / 400
| Fax.: +39 055 3206410
| ===========================================





Maggiori informazioni sulla lista primipassi