在MySQL SELECT字段中使用LIKE

时间:2010-06-08 23:37:04

标签: sql mysql

我一直在尝试选择进行LIKE比较的状态:

SELECT (`my_column` LIKE '%thepattern'%) AS `did_match`

谢谢!

编辑:只是为了澄清这个被使用所以我可以得到这个:

SELECT
     (CASE WHEN `title` LIKE '%keyword%' THEN 20 ELSE 0 END) +
     (CASE WHEN `desc` LIKE '%keyword%' THEN 10 ELSE 0 END)
     AS `match`
FROM myTable
ORDER BY `match`

2 个答案:

答案 0 :(得分:2)

您需要使用:

SELECT t.my_column AS did_match
  FROM YOUR_TABLE t
 WHERE t.my_column LIKE '%thepattern%'

YOUR_TABLE替换为您的表名...

如果没有FROM子句,MySQL(和SQL Server)将允许查询,但不允许任何数据。

答案 1 :(得分:1)

我不确定我是否理解这个问题,看起来OMG小马已经比我更好地解决了这个问题,但是如果这有帮助:

SELECT CASE WHEN `my_column` LIKE '%thepattern%' 
       THEN 'did_match' ELSE 'no_match' END CASE AS MYTEST
  FROM ...

Link to CASE statement documentation