2012-04-30 20 views
5

Ich habe einen Datenbanktabellennamen test123 und Spalte name. Und es enthält die Daten wie 'nir,kal,man' Nun, wenn ich die Tabelle mit select-Anweisung am Abfrage nach unten:Einfache Select-Anweisung gibt kein Ergebnis zurück

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

Aber das wird kein Ergebnis zurück ... Warum das passiert ist.? Wie muss ich Abfrage schreiben, damit das Ergebnis zurückgibt? Ich benutze Sql Server 2008.

Danke ...!

+1

Ist 'nir, kal, man' ein einzelner Name oder drei verschiedene Namen' nir', 'kal',' man'? !!! Ich glaube, du verpasst irgendwo "SPACE". Überprüfen Sie die Abfrage mit 'LIKE'-Operator .. –

Antwort

5

= Operator liefert exakte Übereinstimmung, so dass, wenn Ihre Zellendaten „wie“ enthalten, die Sie benötigen LIKE Operator verwenden:

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

wo % wird mit jedem Satz von Zeichen ersetzt werden.

Überprüfen Sie auch, dass Sie mithilfe von vollständigen Namen richtige Datenbank Targeting sind

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

wenn Nir in der ersten Reihe Kal in 2. Reihe ist und der Mensch ist in der 3. Reihe, dann sollten Sie Abfrage wie folgt

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

Ich habe dieses versucht, aber nicht für mich arbeiten. –

+0

Ändern Sie einfach 'select * aus test123, wo name = ('nir', 'kal', 'man')' zu 'wählen * aus test123 wo name IN ('nir', 'kal', 'man')': -) –

Verwandte Themen