2016-04-26 6 views

Antwort

0
SELECT * 
FROM #temp1 
WHERE name LIKE '% abc%' 
OR name LIKE 'abc_%' 
0

Wie sei es auf beiden Seiten mit Leerzeichen Suche:

select * from table where column like "% abc%" or column like "%abc %" 
1

Ich würde vorschlagen:

where concat(' ', column, ' ') like "% abc %" 

Dieses Wort überall in der Spalte finden, Angenommen, das einzige gültige Trennzeichen ist ein Leerzeichen.

Hinweis: In SQLite würden Sie || anstelle von concat() verwenden. Wenn Sie Leistung wünschen, sehen Sie sich auch Volltextindizes an.

EDIT:

Der Code, wenn der Wert in einer Variablen gespeichert ist wie folgt aussieht:

"select * from table where concat(' ', column, ' ') like ?", ['% ' + var1 + ' %']) 
0

Try this:

SELECT * FROM table_name 
WHERE column LIKE "% abc%" OR column LIKE "%abc %" OR column="abc"; 
0

Da Ihr String in einer Variablen versuchen, etwas gespeichert wird wie folgt:

SELECT * FROM table WHERE (column LIKE CONCAT('% ', var1, '%') OR column LIKE CONCAT(var1,' %')); 

Zusätzliche Klammern sollen Verwirrung vermeiden, wenn Sie weitere Einschränkungen hinzufügen (UND-Operatoren haben Vorrang vor ODER).

0

Sie können REGEXP verwenden und die [[:<:]] und [[:>:]] Wortgrenzmarkierungen:

SELECT * FROM table WHERE column REGEXP "[[:<:]]abc[[:>:]]"; 
0

Sie haben die Variable

DECLARE @Pattern_Val AS CHAR(7) 
SET @Pattern_Val = '% abc %' 

SELECT * FROM table WHERE column LIKE @Pattern_Val 

VORSICHT zu erklären: Achten Sie auf die Länge der CHAR - Definition !!

Verwandte Themen