我有一张桌子:test(id, name1, name2)
表test(1, "test1", "test2"
中的数据和数据)
我使用查询:
Select name1 From test Where name1.name2 like '%t1te%'
我可以使用2字段name1 + name2,结果返回是name1吗?
答案 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%