我正在使用glob操作符帶「?」 wildcharater。問題是 - 它是區分大小寫。如何使用「glob」運算符作爲不區分大小寫
因此,假設我想搜索「Hola」,然後下面的查詢不起作用。
select * from tableName where columnName glob 'ho?a';
我可以使用下限或上限關鍵字列名,但後來它也失敗了這是大寫和小寫字母組合的文字。
請給出您的意見。
我正在使用glob操作符帶「?」 wildcharater。問題是 - 它是區分大小寫。如何使用「glob」運算符作爲不區分大小寫
因此,假設我想搜索「Hola」,然後下面的查詢不起作用。
select * from tableName where columnName glob 'ho?a';
我可以使用下限或上限關鍵字列名,但後來它也失敗了這是大寫和小寫字母組合的文字。
請給出您的意見。
GLOB
按設計區分大小寫。
如果你想不區分大小寫的匹配,使用LIKE
,與_
匹配單個字符:
select * from tableName where columnName like 'ho_a';
這真的很有用。它對我來說非常好,也是最簡單的方法來實現目標。 – Sunita
GLOB支持字符類:
SELECT * FROM tableName WHERE columnName GLOB '[hH][oO]?[aA]';
然而,使用像會更容易些,除非你實際上需要在模式的其他部分使用字符類。
請參閱[這可能是重複] [問題](http://stackoverflow.com/questions/973541/how-to-set-sqlite3-to-case-insensitive-when-string-comparing) - 將軍SQL工具必須處理的是COLLATIONS;同樣,雖然相同的外殼這兩個值應該「工作」,SQLite將無法使用索引AFAIK – user2864740