我需要查詢我的數據庫,查找結果:不區分大小寫的查詢在MySQL
mysql_query("select * from ".ALU_TABLE." where username like '%$q%' or name like '%$q%'");
,如果我在我的表,如書有一個名字和我進入書搜索框就不會顯示該圖書
我需要查詢我的數據庫不區分大小寫。
我需要查詢我的數據庫,查找結果:不區分大小寫的查詢在MySQL
mysql_query("select * from ".ALU_TABLE." where username like '%$q%' or name like '%$q%'");
,如果我在我的表,如書有一個名字和我進入書搜索框就不會顯示該圖書
我需要查詢我的數據庫不區分大小寫。
可以使用LOWER()
功能
... WHERE LOWER(username) LIKE blabl OR LOWER(name) LIKE asdasd
的
這工作。但是,如果將列名作爲參數提交給LOWER(),則不會允許db使用索引,因此它可能非常緩慢。 – 2010-06-12 14:12:03
嗯,不知道。好的提示 – 2010-06-12 14:17:01
您需要爲查詢添加類似COLLATE utf8_general_ci
的內容。 (該_ci
後綴代表不區分大小寫)。
看一看文檔:9.1.7.1. Using COLLATE in SQL Statements:
隨着COLLATE子句,您可以覆蓋任何默認排序規則是一個比較。 COLLATE可用於SQL語句的各個部分。
您的數據庫可能已設置爲不區分大小寫排序規則。 – 2010-06-12 14:10:47
可能重複([案例SQL LIKE通配符聲明不敏感] http://stackoverflow.com/questions/2876789/case-insensitive-for-sql -like-wildcard-statement) – 2010-06-12 17:07:04
另請參見:http://stackoverflow.com/search?q=mysql+case+insensitive – 2010-06-12 17:07:39