如何将mysql中的2个字段与1个查询合并

时间:2012-02-06 03:59:33

标签: mysql

我有一张桌子:test(id, name1, name2)test(1, "test1", "test2"中的数据和数据) 我使用查询:

Select name1 From test Where name1.name2 like '%t1te%'
  

我可以使用2字段name1 + name2,结果返回是name1吗?

3 个答案:

答案 0 :(得分:1)

看起来你在CONCAT之后:

SELECT name1
FROM test
WHERE CONCAT(name1,name2) LIKE '%t1te%';

答案 1 :(得分:1)

当然,您可以连接两列,并将结果与​​LIKE的模式匹配:

SELECT name1
FROM   test
WHERE  CONCAT_WS('', name1, name2) LIKE '%t1te%';

使用CONCAT()函数或连接运算符||(使用ANSI SQL模式)的棘手部分是:如果其中一个字符串值为NULL,则结果为{{ 1}}。您可以使用COALCESCE()来避免这种情况,但这很快就会变得难以处理,因为其中一个或两个都可能是NULL

有一种更简单的方法。使用CONCAT_WS(),此函数忽略NULL个值;并使用空字符串作为分隔符,如上所示。

答案 2 :(得分:1)

您可以在这种情况下使用CONCAT

WHERE CONCAT(name1,name2) like %searchName%