Causola WHERE LIKE

venerdì 19 giugno 2009 - 10.22

alba Profilo | Newbie

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

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

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

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

>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
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5