的大小和SQLite的字符串比较的情况下的解决方案

的大小和SQLite的字符串比较的情况下的解决方案
大多数数据库都是案例和案例的字符串比较不区分大小写的。然而,当SQLite最近被使用,它被认为是在相反的方向。

假定表用户的结构和值如下所示:

用户名


user1
执行以下SQL语句:

复制代码代码如下所示:

SELECT * FROM { }在用户用户名为'user1
结果是,没有记录已被发现。显然,SQLite是案例和案例中的字符串比较敏感,这会对应用程序影响。例如,当用户输入用户名称,必须严格根据输入的情况下。这是一个非常糟糕的用户体验。用户表中可能存在两个用户和用户的用户,这很容易造成混乱。

因为SQLite数据库,近几年一直在上升,中国的数据非常少。Ogle有一些英文资料,终于找到了三个解决方案:

方案一:使用案例和案例转换功能较低,上

复制代码代码如下所示:

SELECT * FROM { },降低用户(用户名)= 'user1
方案二:比较时强制声明不区分大小写

复制代码代码如下所示:

SELECT * FROM { }在用户用户名= 'user1'collate缺
方案三:当创建表时,声明该字段不区分大小写。

复制代码代码如下所示:

用户创建表{ }({用户名} nvarchar(20)整理例);
如果您不需要对任何情况敏感,那么计划三是最好的解决方案;如果只有少量的查询对情况不敏感,您可以使用程序二。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部