Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Causola WHERE LIKE
venerdì 19 giugno 2009 - 10.22
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
alba
Profilo
| Newbie
39
messaggi | Data Invio:
ven 19 giu 2009 - 10:22
ciao a tutti, ho fatto una procedura per la ricerca di nominativi, il problema e' questo: se nel mio db c'e' ad esempio
MARIO ROSSI e io cerco ROSSI MARIO con il metodo del LIKE '%ROSSI MARIO%' non lo trovo. Come db uso mssql 2005, esiste un sistema piu' intelligente per cercare le sringhe?
grazie
dinoxet
Profilo
| Senior Member
484
messaggi | Data Invio:
ven 19 giu 2009 - 11:03
se cerchi "mario rossi" ,questa è un intera stringa, e se nel db è scritto "rossi mario" non lo troverai mai
la funzione like cerca l'intera stringa in qualdisasi posizione (ma tutta insieme, non inverte niente)
invece se il nome ed il cognome sono su campi diversi allora ti puoi ingegnare con qualche routine di ricerca
postaci la struttura della tabella
DINOXET
__________________________________________
impossible is only a word
alba
Profilo
| Newbie
39
messaggi | Data Invio:
ven 19 giu 2009 - 11:09
lo so, ma purtroppo ho solo un campo, ho creato un secondo campo in cui metto la stringa originale senza spazi e caratteri particolari e su cui faccio il LIKE, cioe:
NOMINATIVO NOMINATIVO_CERCA
MARIO ROSSI MARIOROSSI
DE' BONO DEBONO
L'UNA ALBERTO LUNAALBERTO
ma se cerchi ROSSI MARIO non lo trovi, dovrei mettere nel campo NOMINATIVO_CERCA una stringa tipo MARIOROSSIMARIO ma nel caso di nomi multipli le cose si complicano...
dinoxet
Profilo
| Senior Member
484
messaggi | Data Invio:
ven 19 giu 2009 - 11:34
secondo me per come è combinato il tuo db devi obbligare da procedura e cercare o solo il cognome o solo il nome, o delle ricerche a step (chiedi prima il cognome e dalla selezione ottenuta chiedi il nome per esempio)
DINOXET
__________________________________________
impossible is only a word
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
ven 19 giu 2009 - 13:18
>ma se cerchi ROSSI MARIO non lo trovi, dovrei mettere nel campo
>NOMINATIVO_CERCA una stringa tipo MARIOROSSIMARIO ma nel caso
>di nomi multipli le cose si complicano...
se devi fare ricerche complesse e ben strutturate, leggi qui:
FULL TEXT Search
http://msdn.microsoft.com/it-it/library/ms142571.aspx
--
Alessandro Alpi | SQL Server MVP
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !