Php 使用类似mysql的
使用此查询时没有结果,但是当我使用此查询时:Php 使用类似mysql的,php,mysql,sql,sql-like,Php,Mysql,Sql,Sql Like,使用此查询时没有结果,但是当我使用此查询时: SELECT * FROM results INNER JOIN first_name USING first_name_id INNER JOIN last_name USING last_name_id WHERE CONCAT ( REPLACE(first_name, " ", ""), REPLACE(last_name, " ", "")) LIKE "%John Smith%" 我必须使用John Smith
SELECT *
FROM results
INNER JOIN first_name USING first_name_id
INNER JOIN last_name USING last_name_id
WHERE CONCAT (
REPLACE(first_name, " ", ""),
REPLACE(last_name, " ", ""))
LIKE "%John Smith%"
我必须使用John Smith
并删除名称之间的空格。mysql查询的预期返回值为:%JohnSmith%
显示结果的正确方式是什么?使用该功能
SELECT *
FROM results
INNER JOIN first_name USING first_name_id
INNER JOIN last_name USING last_name_id
AND fn.first_name LIKE "%John%"
AND last_name LIKE "%Smith%"`
删除空白
例如:TRIM(FIRST_NAME)这是因为您将名字和姓氏连接起来,并将其与不同的关键字匹配。您可以选择以下任何查询来执行您最初尝试执行的任何操作 在这篇文章中,我只是删除了like关键字中的空格
TRIM(COLUMN_NAME);
或
在本文中,我在concat函数中的first和last name列之间引入了一个空格
SELECT *
FROM results
INNER JOIN first_name USING first_name_id
INNER JOIN last_name USING last_name_id
WHERE CONCAT(REPLACE(first_name, " ", ""), REPLACE(last_name, " ", "")) LIKE "%JohnSmith%"
对于CONCAT之后的第一个查询,值将是
JohnSmith
,这与%John Smith%
不同,因为中间有一个空格。正确的。我明白你的意思。如果在Where子句中使用空格不是问题,您可以尝试这样做,其中CONCAT(REPLACE(first_name,“,”),“,”,REPLACE(last_name,“,”)类似于“%John Smith%”;
SELECT *
FROM results
INNER JOIN first_name USING first_name_id
INNER JOIN last_name USING last_name_id
WHERE CONCAT(REPLACE(first_name, " ", ""), " ", REPLACE(last_name, " ", "")) LIKE "%John Smith%"