![](/img/trans.png)
[英]splitting a text by a capital letter after a small letter, without loosing the small letter
[英]Query for small/capital letter in PostgreSQL and SQLITE3
无论用户在tkinter,small或capital中使用何种字母,我如何从数据库中选择记录? 在MySQL中我使用了BINARY,但是PostgreSQL和SQLITE呢?
在MySQL中,默认排序规则不区分大小写。 在SQLite中,它是二进制的。 在PostgreSQL中,它默认为操作系统定义的区域设置排序规则。
您可以使用lower
来强制不区分大小写的匹配:
select a from f where lower(a) = lower('myString')
在PostgreSQL中,您还可以对列使用不区分大小写的数据类型,如citext
create table a (f citext);
另一个选择是使用ilike
忽略大小写。 (请注意,如果您想要文字匹配,则应使用ilike
转义特殊字符。)
select f from a where f ilike 'myString';
在SQLite中,您可以在列定义中使用指令collate nocase
。
create table a (f text collate nocase);
或者在查询中:
select f from a where f = 'myString` collate nocase;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.