2010-11-15 4 views
0

Мне нужно вернуть все имена людей, которые содержат определенные буквы, или комбинацию букв.sql simple question help

, например

names = bob, mary, nick 

возвращаемые имена с буквой "б"

returns bob 

имена возвратных с буквой "ар"

returns mary 

так

SELECT name 
FROM people 
WHERE ??? 
+0

Являются ли эти имена в одном столбце, например. разделенный запятой внутри столбца? Это будет действительно очень плохой дизайн для базы данных SQL .... –

+0

нет, значения атомарны, каждое имя имеет собственное пространство с-в столбце –

ответ

0
WHERE name LIKE '%ar%'

для MS-Access, используйте

WHERE name LIKE '* ar *'
Игнорируйте пробелы между * и 'ar'. См. http://office.microsoft.com/en-us/access-help/like-operator-HP001032253.aspx

+0

hmmm. не работая с датой, которую мы предоставили в доступе к Microsoft, имя таблицы все имеет «-», поэтому имена должны быть помещены в квадратные скобки, может быть, проблема –

+0

, мы все предполагаем, что у вас есть таблица под названием « люди ", с столбцом под названием" имя ", это правильно? Если да, то образцы, которые мы представили вам, должны работать. Можете ли вы дать более подробную информацию, такую ​​как тип базы данных, и какой инструмент вы используете, чтобы попробовать этот запрос. – KBoek

+0

его просто редактор sql в доступе. я отправил SELECT [people-name] FROM people, который работает, но когда я говорю WHERE [people-name] LIKE '% ar%'; он не работает –

0
SELECT name 
FROM people 
WHERE name like '%ar%'

%, как "что-либо"
вы можете использовать LIKE и % только для строковых полей

0

использования 'как' оператор, используя которые вы можете сделать это

0
SELECT name 
FROM people 
WHERE name like '%ar%' ----returns Mary 

WHERE name like 'b%' ----returns bob 

WHERE name like '%k' ----returns nick 

Примечание: Не выполняйте все условия «где».