sqlite - SQLite replace() 指定字符和下一个字符
问题描述
我有一个带有Username
列的数据库。
有多个部分符号后跟数字§#
来格式化名称。
我必须确保所有名称都是唯一的,但我想忽略格式化字符对。
我打算用,
SELECT * FROM Users WHERE replace(lower(Username),'§%','') = 'name';
但我意识到这会寻找百分号而不是作为通配符。我真的可以使用一些帮助。
解决方案
在比较之前使用INSTR
和的组合来隔离名称:SUBSTR
SELECT *
FROM Users
WHERE LOWER(SUBSTR(Username, 1, INSTR(Username, '§%') - 1)) = 'name';
推荐阅读
- java - 在 Apache Flink 中暂停数据流并查看算子的状态
- tornadofx - TornadoFX - 如何使用自定义单元工厂修复 ListView 在删除项目时无法正确更新?
- c# - 自动映射器扩展方法
- ios - URLSessions 或 AlamoFire 用于下载每天更新一次的网页?
- javascript - 根据父组件的状态改变子组件,无需重新渲染
- laravel - Laravel:抓取嵌套项目
- scala - 添加 RDD[String,Array[String,Int]] 的 Int 值
- javascript - HTML/js 如何从多个不同的图像宽度设置多个 div 宽度?
- time-complexity - 当您需要在每次插入后重新计算树上的平衡因子时,AVL 树插入 O(log n) 如何?
- angular - Angular 6 / Typescript - 如何检查变量中是否有单个数字