2012-04-30 19 views
5

Ho un nome di tabella di database test123 e con la colonna name. E contiene i dati come 'nir,kal,man' Ora, quando sto interrogando la tabella con select economico di cui qui di seguito:L'istruzione Select semplice non restituisce alcun risultato

select * from test123 where name = 'nir,kal,man'; 

Ma questo non restituirà alcun risultato ... perché questo è accaduto.? Come devo scrivere la query in modo che restituisca il risultato? Sto utilizzando SQL Server 2008.

Grazie ...!

+1

È 'nir, kal, man' un singolo nome, o tre nomi diversi' nir', 'kal',' man'? !!! !!! Penso che tu possa mancare lo "SPAZIO" da qualche parte. controlla la query con l'operatore 'LIKE' .. –

risposta

5

= operatore restituisce corrispondenza esatta, quindi se il vostro cellulare contiene dati "come" che è necessario utilizzare LIKE operatore:

select * from test123 where name like '%nir,kal,man%' 

dove % sarà sostituito con qualsiasi gruppo di caratteri.

anche controllare che ci si rivolge corretta database utilizzando il nome completo

select * from yourdb.dbo.test123 where.... 
3

se Nir è in prima fila Kal in 2 ° fila e l'uomo è in 3 ° fila, allora si dovrebbe scrivere query come questa

select * from test123 where name in ('nir','kal','man') 
+0

ho provato questo ma non funziona per me. –

+0

Basta cambiare 'select * da test123 dove name = ('nir', 'kal', 'man')' per 'selezionare * da test123 dove nome IN ('nir', 'kal', 'man')': -) –

Problemi correlati