2011-05-21 41 views
6

我正在使用Derby,我無法找到一種方法來執行不區分大小寫的搜索。在Java DB(德比)中區分大小寫的搜索

例如,我有一個表,我正在搜索包含「你好」,但我把一個搜索查詢爲「你好」,目前我不會得到一個結果,但我想。

我無法找到正確的語法。

Sara

回答

8

可以在

SELECT * 
FROM mytab 
WHERE UPPER(lastname) = UPPER('McDonalds') 
+0

但這忽略了可能在列上設置的索引?! – dermoritz 2012-02-02 08:53:49

4

執行此操作的最常見方法是使用生成的列。這裏有一個很好的書面記錄從德比開發商之一:http://blogs.oracle.com/kah/entry/derby_10_5_preview_generated

+0

好發現使用UPPER()或LOWER()SQL函數在兩個搜索參數與現場一樣!不知道什麼是性能增益,雖然與簡單的UPPER相比,搜索查詢 – Marc 2011-12-25 01:44:32

+0

更好的鏈接在這裏很有用。該鏈接現在將我帶到主頁面,並且搜索頁面沒有找到它。 – MiguelMunoz 2017-10-31 06:49:34

+0

對不起,該博客條目已接近10歲,看起來Oracle已將其刪除。 :(現在你仍然可以在這裏找到它:https://bigip-blogs-cms-adc.oracle.com/kah/entry/derby_10_5_preview_generated或者,嘗試使用archive.org訪問該頁面,就像在2009年一樣。 .. – 2017-10-31 13:38:19