Mysql 选择与字符串结尾完全匹配的行

Mysql 选择与字符串结尾完全匹配的行,mysql,sql,Mysql,Sql,Column1有一个值为示例的记录 用户提交值somethingwithexample 字符串的结尾与第1列中的值匹配。如何在MySQL中选择Column1 将选择其值列包含以示例结尾的值的所有行 例如:mathexample、scienceexample select * from tablename where value like '%example%'; 将选择其值列包含mathexample1、scienceexample2等值的所有行您可以使用like运算符: SELECT * F

Column1有一个值为示例的记录

用户提交值somethingwithexample

字符串的结尾与第1列中的值匹配。如何在MySQL中选择Column1

将选择其值列包含以示例结尾的值的所有行 例如:mathexample、scienceexample

select * from tablename where value like '%example%';
将选择其值列包含mathexample1、scienceexample2等值的所有行

您可以使用like运算符:

SELECT *
FROM   mytable
WHERE  :userinput LIKE CONCAT('%', mycolumn)
编辑: 如注释中所述,如果该列为空,则将作为用户输入进行计算,如“%”,根据定义,该值始终为true。应明确处理此边缘情况:

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

这仅仅是记录的结尾没有正确地理解你。。你能详细说明一下吗??您只需要example word或包含example的everyword,这样您就可以创建一个存储过程,在该过程中,您可以接受要比较的单词,然后将其传递给标识符。我已尝试回答此检查,看它是否正常工作,但它也选择了具有空值的行。有进一步的建议吗?它正在工作,但它也在选择空行和整数,还有什么想法吗?你能举个例子吗?我不太明白。因此,如果用户输入是stackoverflow,它将使用单词flow选择所有行,因此这是可行的。但它也会选择值为1和NULL的行。仍然无法获取它。请参见此示例:。将其扩展到问题并发布新链接。哇,对不起。不选择null,但选择空字符串。如果输入包含数字,则会选择该数字,例如Stack1 Overflow选择1
select * from tablename where value like '%example%';
SELECT *
FROM   mytable
WHERE  :userinput LIKE CONCAT('%', mycolumn)
SELECT *
FROM   mytable
WHERE  mycolumn IS NOT NULL AND
       mycolumn != '' AND
       :userinput LIKE CONCAT('%', mycolumn)