2017-09-17 2 views

Antwort

3
Select * 
From EMP 
Where Cod_Dept = 10 
And Name Not Like '%LA%' 
+0

Arbeitete perfekt. Vielen Dank! –

2

Hier ist eine weitere Option CHARINDEX():

SELECT * 
FROM EMP 
WHERE Cod_Dept = 10 
AND CHARINDEX('LA' , Name , 0) = 0; 

Falls Sie haben Null Wert und Sie wollen es zurück zu:

SELECT * 
FROM EMP 
WHERE Cod_Dept = 10 
AND (CHARINDEX('LA' , Name , 0) = 0) OR (CHARINDEX('LA' , Name , 0) Is Null); 

Demo.

+1

Scheint eine endlose Debatte charindex vs wie sein. Ich bevorzuge charindex für Wildcard-Suchen aus zwei Gründen 1) einfacher, eine Variable zu übergeben, ohne eine Zeichenfolge mit% und 2) wichtiger ... Leistung per concate. http://cc.davelozinski.com/sql/like-vs-substring-vs-leftright-vs-charingex trotzdem +1 –

+0

'LIKE' ist sargable, wenn kein führender Wildcard so leicht CHARINDEX in diesem Fall schlagen kann. Vermutlich etwas, was in diesem Link nicht durch einen kurzen Blick auf die Ergebnisse getestet wurde. Mit 'CHARINDEX' müssen Sie sich keine Gedanken über austretende Zeichen wie'% 'machen. Die Kardinalitätsschätzung kann zwischen den beiden unterschiedlich sein. –

+0

Warum '<1' anstatt' = 0'? –

Verwandte Themen