0
爲什麼不能正常工作?MySQL - 在CONCAT中爲'任意數量的空格'添加通配符?
SELECT up.first_name, up.last_name
FROM user_profiles up
WHERE u.activated = 1
AND up.first_name LIKE '%" . $search_term . "%'
OR up.last_name LIKE '%" . $search_term . "%'
OR CONCAT(up.first_name, '%', up.last_name) LIKE '%" . $search_term . "%'
GROUP BY up.last_name
ORDER BY up.last_name ASC;
當用戶進入joe
我自動完成返回joe smith
。 當用戶輸入smith
時,我的自動完成返回joe smith
。
但是當用戶輸入joe smith
時,我的自動完成返回空白。
我希望CONCAT
行能夠返回結果,以防用戶輸入first_name
[中間的任意數目的空格] last_name
。
我相信%
將適用於任何數量的字符,但不適用於任何數量的空格。任何想法如何解決我的代碼?
謝謝!
thanks @johan - 不幸的是它不起作用,因爲單個/多個空格可能**在**'$ search_term'裏面 - 例如'John %%% Smith' - 您的行將允許**'$ search_term'之間的任何事情**,如'約翰史密斯%%%%%'或'%%%%%約翰史密斯' - 糾正我,如果我錯了! :) – pepe 2011-05-21 21:30:08