引用:從achech _ news中選擇id標題名稱,其中titlelike返回% a%個結果。壹些標題字段肯定有關鍵字A,而其他字段只有中文,但它們也在檢索結果中返回。解決方案是使用二進制屬性進行檢索,例如
?引用:從新聞中選擇id標題名稱,其中二進制標題如%a%
返回的結果比以前更正確,但英文字母是區分大小寫的,因此有時檢索的結果(如achech和Achech)是不同的。知道了BINARY屬性可以解決前面的問題,我們來看看MySQL支持的UCASE和CONCAT函數,其中UCASE是將所有英文轉換為大寫,CONCAT函數是連接字符。下面是我們已經完全解決的SQL語句。
?引用:select id title name from a chech _ news其中binary ucase(title)like concat(% ucase(a)%)檢索步驟是將屬性指定為BINARY以準確檢索結果,而like的標題內容可能有大小寫字母,因此首先使用ucase函數將所有字段內容轉換為大寫字母,然後執行like操作, 而在模糊方法中使用concat的優點是傳入的關鍵字可以是直接的,並且您不需要使用%通配符來直接將A更改為您的變量,因此在任何語言中壹切都會很好。 當然,妳也可以這樣寫。
lishixinzhi/Article/program/MySQL/201311/29449