【问题标题】:sqlite3 - update query - case insensitivesqlite3 - 更新查询 - 不区分大小写
【发布时间】:2014-04-08 17:50:52
【问题描述】:

我已使用以下查询进行 sqlite3 更新。

UPDATE customer SET nameid = '0' where (a like '%aba%' or  b like '%aba%' or  c like '%aba%' or  d like '%aba%')  COLLATE NOCASE.

但在我的表中,受尊重的列存储了 ABA、Aba、ABa、aBA 之类的值。我想进行不区分大小写的更新查询。请指导我,我犯了什么错误。

上面的查询没有更新表。

谢谢

【问题讨论】:

  • 使用 upper() 或 lower() 使大小写不敏感
  • LIKE 已经不区分大小写。考虑发布一个更全面的示例来展示您的问题。
  • 嗨 Latto,LIKE 不能用作不区分大小写的格式。我在 IOS 中使用 sqlite3 数据库。有什么区别吗?

标签: sql sqlite


【解决方案1】:

尝试使用以下查询:

UPDATE customer SET nameid = '0' where (LOWER(a) like '%aba%' or LOWER(b) like '%aba%' or LOWER(c) like '%aba%' or LOWER(d) like '%aba%')

类似问题的链接如下: Case sensitive and insensitive like in SQLite

【讨论】:

  • 嗨,我不能使用小写和大写的方法。因为 '%aba%' 将从服务器接收。有时他们会通过较低/较高/混合。我想单独检查字符而不是大小写。
  • 你也可以在like中使用LOWER:'...like LOWER('%abc%')'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-16
  • 2012-09-22
  • 1970-01-01
  • 2023-03-04
  • 1970-01-01
相关资源
最近更新 更多