全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1493
推到 Plurk!
推到 Facebook!

要如何以 SQL 的 like 命令以不分大小寫搜尋資料

答題得分者是:folkchen
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-07-24 20:59:30 IP:218.166.xxx.xxx 未訂閱
Dear All,    我是用 BCB 5.0 資料庫Paradox 且不設定 Case sensitive(即不分大小寫). 當我的資料中有大小寫時(例: ABcde ). 若我用SQL 程式片段 Where Value=:Value ; 且 ParamByName("Part_Value")->AsString    = "ABCDE"則一定可以找到資料. 但若要找 "abc" 部分字串則要借用 like , SQL 程式片段 Where Value like:Value ; 但要大小寫吻合才找的到資料(例: ABc ). 若輸入 "ABC" 則會找不到資料. 由於要維持資料的完整性,故不能以單一大寫 or 小寫 來存資料. 不知各位高手有何辦法,或有更好的意見可以提供給我.    Thanks.     發表人 - erosme 於 2004/07/24 21:05:07 發表人 - erosme 於 2004/07/26 09:45:53
brownshui
一般會員


發表:0
回覆:18
積分:3
註冊:2004-05-01

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-07-25 10:50:42 IP:61.219.xxx.xxx 未訂閱
請問erosme:    :Value 末端是否有加上 '%' 例如:
 :Value = "abc%"
在這裡好像應該加上 % 這個萬用字元
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-07-26 09:50:28 IP:61.62.xxx.xxx 未訂閱
Dear Brownshui, 有的,因我怕找不到資料. 故我寫成 Value = "«C%". 但還是找不到. Thanks.
folkchen
高階會員


發表:9
回覆:232
積分:173
註冊:2003-10-09

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-07-26 10:23:47 IP:211.20.xxx.xxx 未訂閱
你的意思是 1.你的資料是以大小寫雜混的方式儲存 2.用SQL抓資料時不要分大小寫 是嗎 若是的話下列內容可以參考看看 因為Like找資料會分大小寫,但你不要它管資料的大小寫 所以你只要將資料轉成大寫或小寫在LIKE時讓它從中找資料就可以了 因為它只是在Where時轉換,所以不會影嚮你抓出來的資料 也不會改變資料庫中的資料 where upper(Value) like upper(:Value) 因為我用的資料庫是Oracle 所以轉大寫是用upper() 轉小寫是用lower() 我不知你的資料庫是否可以用相同的函數來轉換
erosme
初階會員


發表:5
回覆:44
積分:29
註冊:2002-12-23

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-07-27 00:09:56 IP:218.166.xxx.xxx 未訂閱
Dear Folk, 太感謝你了,BCB SQL 的用法同 Oracle. Best Regards, Erosme.
系統時間:2024-05-02 0:58:44
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!