在網(wǎng)站后臺的開發(fā)過程中,站內(nèi)搜索或是查詢功能是用得比較多的,就要從數(shù)據(jù)庫里面找尋與客戶所輸入的關(guān)鍵詞相類似的文章或是新聞,把這些文章調(diào)出來,說白了,就是把有這些類似的記錄顯示出來,那是如何做到的呢?
其實很簡單,使用查詢語句即可搞定:select * from 數(shù)據(jù)庫表 where 文章內(nèi)容或文章標題 like 關(guān)鍵詞,今天不是研究這個,主要是說說易發(fā)生錯誤的細節(jié),數(shù)據(jù)庫access與sql server兩者在通配符用法上有何區(qū)別,要注意些什么。
再回到上面的那句sql語句,假如數(shù)據(jù)庫表為news,新聞內(nèi)容的字段名是content,標題字段名為title,用戶輸入了“產(chǎn)品”兩個字,那sql語句為:select * from news where content like "%產(chǎn)品%",記住,除了產(chǎn)品兩字是中文外,其它的都是英文的半角狀態(tài),當然了,實際的網(wǎng)站建設(shè)過程中,產(chǎn)品兩字會被變量或函數(shù)代替。
如果使用的是access,則like的通配符的整個寫法是這樣的:like "*產(chǎn)品*",百分號在這兒是沒有用的,千萬記住。
如果使用的是sql server,則like寫法為:like "%產(chǎn)品%",星號在這兒是沒有用的,當然也適合于mysql數(shù)據(jù)庫。
總結(jié)一下,access里like的通配符用法中,問號表示任何單一的字符,星號表示零個或多個字符,井號表示任何一個數(shù)字,使用like時,access使用星號,sql server使用百分號,互換過來不行。