2015-01-29 2 views
0

Column1 имеет запись со значением example.Выберите строки, которые полностью совпадают с концом строки

Пользователь отправляет значение somethingwithexample.

Конец строки соответствует значению Column1. Как выбрать Column1 в MySQL?

+0

это только @ в конце записи –

+0

не доставит вас правильно .. можете ли вы разработать? вам нужно только слово «example» или каждое слово, которое включает «пример» –

+0

, поэтому вы можете создать хранимую процедуру, в которой вы можете принять слово «слово», которое вы хотите сравнить, а затем передать его в «идентификатор». –

ответ

0
select * from your_table 
where $userInput like concat('%', col) 
+0

Он работает, но он также выбирает пустые строки и целые числа, а не идею? – Sunny

+0

Можете ли вы привести пример? Я не совсем понимаю. –

+0

Итак, если пользовательский ввод 'stackoverflow', он выбирает все строки со словом' flow', так что это работает. Но он также выбирает строки со значениями '1' и' NULL'. – Sunny

0
select * from table_name 
where column_name like '%example' 
-1
select * from tablename where value like '%example'; 

будут выбраны все строки, в которых значение столбца имеет значения, которые заканчиваются на примере , например: mathexample, scienceexample;

select * from tablename where value like '%example%'; 

будут выбраны все строки, в которых значение столбца имеет такие значения, как mathexample1, scienceexample2 и т.д.

1

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

SELECT * 
FROM mytable 
WHERE :userinput LIKE CONCAT('%', mycolumn) 

EDIT:
Как отмечено в комментарии, если столбец пуст, он будет оцениваться как userinput LIKE '%', который по определению всегда true. Этот краевой кейс должен быть обработан явно:

SELECT * 
FROM mytable 
WHERE mycolumn IS NOT NULL AND 
     mycolumn != '' AND 
     :userinput LIKE CONCAT('%', mycolumn) 
+0

Хорошо выглядит, но он также выбирает строки с пустыми значениями. Какие-либо дополнительные рекомендации? – Sunny

+0

@ Сухой хороший улов - я отредактировал свой ответ соответственно. – Mureinik