mysql CONCAT()AS名称?

时间:2013-11-22 09:47:27

标签: mysql

我正在尝试为一个小型数据库创建一个小搜索引擎。 “CONCAT()AS名称”不起作用,所以如何使用Concat()之类的东西作为xxx?

在这里创建了一个示例http://sqlfiddle.com/#!2/21b5c/5

我尝试做的是

SELECT 
    CONCAT(names,' ',office) AS bigDataField
    FROM item_table 
WHERE bigDataField LIKE "%jessy%";

使用concat字段的最佳方法是什么?

3 个答案:

答案 0 :(得分:4)

您可以使用HAVING子句,而不是复制CONCAT()子句中的WHERE函数。

例如:

SELECT CONCAT(`names`,' ',`office`) `bigDataField`
       FROM `item_table` 
HAVING `bigDataField` LIKE "%jessy%";

答案 1 :(得分:2)

您不能在where子句中使用别名。

SELECT CONCAT(names,' ',office) AS bigDataField
FROM item_table 
WHERE CONCAT(names,' ',office) LIKE "%jessy%";

答案 2 :(得分:1)

很遗憾,您无法在WHERE子句中为计算列使用别名 - 您需要在CONCAT(names,' ',office)子句中使用WHERE

这篇文章有更详细的内容:Can you use an alias in the WHERE clause in mysql?