2014-01-09 53 views
1

我正在使用glob操作符帶「?」 wildcharater。問題是 - 它是區分大小寫如何使用「glob」運算符作爲不區分大小寫

因此,假設我想搜索「Hola」,然後下面的查詢不起作用。

select * from tableName where columnName glob 'ho?a'; 

我可以使用下限或上限關鍵字列名,但後來它也失敗了這是大寫和小寫字母組合的文字。

請給出您的意見。

+0

請參閱[這可能是重複] [問題](http://stackoverflow.com/questions/973541/how-to-set-sqlite3-to-case-insensitive-when-string-comparing) - 將軍SQL工具必須處理的是COLLATIONS;同樣,雖然相同的外殼這兩個值應該「工作」,SQLite將無法使用索引AFAIK – user2864740

回答

2

GLOB按設計區分大小寫。

如果你想不區分大小寫的匹配,使用LIKE,與_匹配單個字符:

select * from tableName where columnName like 'ho_a'; 
+0

這真的很有用。它對我來說非常好,也是最簡單的方法來實現目標。 – Sunita

2

GLOB支持字符類:

SELECT * FROM tableName WHERE columnName GLOB '[hH][oO]?[aA]'; 

然而,使用像會更容易些,除非你實際上需要在模式的其他部分使用字符類。

相關問題