匹配我有这样的代码,返回的结果我想:MySQL的通配符与CONCAT
SELECT CONCAT('#', id, ' ', firstname, ' ', lastname, ' (', company, ')') AS result FROM client_detail
下面是结果:
#1 James Hadley (OpenBill)
#2 Lucinda Hadley (Make a Squish)
但使用像当试图在相同的字符串进行搜索时(我想在任何地方搜索字符串变量上面的结果里),我没有得到任何输出,并没有任何错误:
SELECT CONCAT('#', id, ' ', firstname, ' ', lastname, ' (', company, ')') AS result FROM client_detail WHERE CONCAT('#', id, ' ', firstname, ' ', lastname, ' (', company, ')') LIKE '%jam%' ORDER BY id ASC
我是否正确使用LIKE操作数,还是在搜索结果中有更好/正确的搜索方式?
如果将'where'子句更改为'having'会发生什么?我不确定这些值是否存在用于连接。 – ethrbunny
这是有效的SQL,并且应该得到你想要的。你收到的错误是什么? –
@ tomtheman5:“*我没有输出并且没有错误*”。不过,我同意OP应该得到他想要的东西:http://sqlfiddle.com/#!2/2734e/1/0(除非连接的排序规则区分大小写)。 – eggyal