在sql select查询下面,从表中检索数据。
SELECT DISTINCT FRUIT_NAME,FRUIT_ID FROM Fruits ORDER BY FRUIT_NAME ASC
我使用了“ ORDER BY FRUIT_NAME ASC”,它根据Assending顺序来获取结果,如下所示。
结果:
苹果
香蕉
芒果
杏子
蓝莓
我想要一个不区分大小写的搜索结果,如下所示。
苹果
杏子
香蕉
蓝莓
芒果
我不想使用upper()或lower(),因为它可能会影响较大表数据的性能。
而且COLLATE NOCASE不适用于db2。以下是我使用时遇到的错误 在db2中的选择SQL查询中收集NOCASE。
1) [Code: -104, SQL State: 42601] ILLEGAL SYMBOL "COLLATE".
是否可以使用db2从sql select查询中检索不区分大小写的数据?
答案 0 :(得分:0)
您可以使用LOWER
函数进行订购:
SELECT DISTINCT FRUIT_NAME, FRUIT_ID
FROM Fruits
ORDER BY LOWER(FRUIT_NAME);
当然,这意味着ORDER BY
步骤不能使用索引。如果不管大小写需要快速定购,可以考虑将列的全小写形式作为一种选择来存储。