2015-10-20 4 views
3

Предположим, у меня есть несколько буквенно-цифровых строк длиной 6 символов. abc123, abc231, abc456, cba123, bac231, и bac123.SQL-поиск по части столбца

В принципе, я хочу, чтобы оператор выбора мог искать и перечислять все экземпляры abc.

Мне просто нужен оператор select, который может отображать все экземпляры с ключевым словом «abc».

ответ

4

Использование LIKE и джокеры %

SELECT * 
FROM yourtable 
WHERE yourfield LIKE '%abc%' 

Входной

yourfield 
abc123 
abc231 
abc456 
cba123 
bac231 
bac123 

Выход:

yourfield 
abc123 
abc231 
abc456 

SQL Скрипки:

+0

@MahmoudGamal См последнее предложение вопроса. – Richard

+0

, который сделал это, подстановочные знаки - это то, что я искал. Ценить это. – Tfouts

+1

Если вы хотите совместить значения * start * с 'abc', тогда поиск 'LIKE 'abc%'' сможет использовать индекс в этом столбце и, возможно, быть значительно быстрее, тогда как 'LIKE '% abc % ''не будет. –

0

Не могли бы вы попробовать, как го это способ

SELECT * 
    FROM yourtable 
    WHERE field LIKE '%a%' Or field LIKE '%b%' Or field LIKE '%c%' 
0
Select * from tablename 
    where yourfield like 'yourconstantcharacters%' 
+0

Да, это был правильный синтаксис, спасибо. Мэтт назвал «%» подстановочные знаки, которые также были тем, что я искал. Всем спасибо! – Tfouts

+0

, пожалуйста, примите ответ, если он вас удовлетворит :) –

0

Вы можете использовать LIKE оператор в SQL

  • Начиная с случаем

Select * From Table Where Column LIKE 'abc%';

  • Ending с случаем

Select * From Tablo Where Column Like '%abc';

  • Содержит С Case

Select * From Table Where Column LIKE '%abc%';

Так что если вы хотите использовать экранирующий символ в LIKE состоянии, необходимо внести небольшие изменения в вашем состоянии

  • Для примера:

    SELECT * FROM Table WHERE column LIKE '!%' escape '!';

Дополнительная информация для вас here

Смежные вопросы