2011-05-21 29 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