2017-02-10 2 views
-3
Id vDivisionNo 
1 1,9 
2 9 
3 1 
4 9,1 

i char Index verwenden, haben aber nicht WertWie mit comm String finden getrennt Wert in Tabellenspalte

select * from DivisionMst where CHARINDEX(',' + vLocationNo + ',', ','+ '9,14' + ',') > 0 

finden und diesen Versuchen

select * from DivisionMst where CHARINDEX(',' + '9,14' + ',', ','+ vLocationNo + ',') > 0 

aber nicht bitte helfen Sie mir zu arbeiten.

+1

Normalisieren Sie Ihre Tabellenstruktur. ** Speichern Sie niemals Daten auf diese Weise **. – GurV

Antwort

0

verwenden diese unter Abfrage zu finden, die Antwort

SELECT  * 
FROM   DivisionMst 
WHERE  (vDivisionNo LIKE '%,%') 
0

Sie sollten, wenn möglich, normalisieren Ihre Datenbank.
Lesen Sie Is storing a delimited list in a database column really that bad?, wo Sie viele Gründe sehen, warum die Antwort auf diese Frage ist Absolut ja!.

Wenn Sie jedoch nicht die Datenbankstruktur ändern, können Sie LIKE:

SELECT * 
FROM DivisionMst 
WHERE ',' + vLocationNo + ',' LIKE '%,'+ '9,14' + ',%' 

btw, Ihre Beispieldaten enthält keine Spaltennamen vLocationNo, noch '9,14' Wert enthält.

Verwandte Themen