2012-11-02 56 views
0

在我的數據庫中,我有一個包含VARCHAR(255)列PRODNAME的表PRODUCT。在那一欄中,我存儲了我所有的產品名稱。用於搜索最長公共前綴的SQL查詢


現在我必須實現一個簡單的搜索引擎來查看該列。我想使用LIKE語句作爲字符串上的精確匹配==太過於限制,但我只想匹配列PRODNAME文本中的前綴。如何做?謝謝!

+1

向我們展示[你已經試過(HTTP:// www.whathaveyoutried.com)。 – Kermit

+0

VARCHAR(255)當然。感謝您指出錯字 –

回答

2

您可以使用通配符(百分號),即。

SELECT * FROM PRODUCT WHERE PRODNAME LIKE 'prefix%'

要搜索所有子,使用:

SELECT * FROM PRODUCT WHERE PRODNAME LIKE '%substring%'

或後綴:

SELECT * FROM PRODUCT WHERE PRODNAME LIKE '%suffix'

+0

那但是當涉及到搜索自然語言文本的前綴時呢? LIKE操作數是否適用於空間字符? –

+0

是的,只要在空格後面添加通配符即可。爲什麼不試試看看會發生什麼? – Darrrrrren

+0

here我的查詢:select * from產品where prodname LIKE「* %」或者prodname LIKE「* %」...其中,等是從用戶在搜索中輸入的實際字符串計算得到的文本標記從 –