select *from urunler where musteri like %ir%;
测试数据:
+---musteri---+---ID--+
+-------------+-------+
+---İrem------+---1---+
+---Kadir-----+---2---+
+---Demir-----+---3---+
返回结果:
Kadir
Demir
if use %İr%
然后伊雷姆回来了,但卡迪尔和德米尔没有回来。其他土耳其字符也有同样的问题,但没有任何确切的解决方案。我正在编程单声道安卓。
[SQLiteFunction(Name = "TOUPPER", Arguments = 1, FuncType = FunctionType.Scalar)]
public class TOUPPER: SQLiteFunction
{
public override object Invoke(object[] args)
{
return args[0].ToString().ToUpper();
}
}
[SQLiteFunction(Name = "COLLATION_CASE_INSENSITIVE", FuncType = FunctionType.Collation)]
class CollationCaseInsensitive : SQLiteFunction {
public override int Compare(string param1, string param2) {
return String.Compare(param1, param2, true);
}
}
TOUPPER.RegisterFunction(typeof(TOUPPER));
这样解决了,而且还使用了mono c#'库,这里是我需要做的 Android.Database.Sqlite.SQLiteDatabase
From SQLite 所理解的 SQL http://www.sqlite.org/lang_expr.html,“LIKE 和 GLOB 运算符”部分:
对于超出 ASCII 范围的 unicode 字符,LIKE 运算符默认区分大小写。
这意味着“?”与“i”和“I”不同。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)