在 sqlite 中本地删除特殊字符
Posted
技术标签:
【中文标题】在 sqlite 中本地删除特殊字符【英文标题】:removing special characters natively in sqlite 【发布时间】:2022-01-22 03:44:30 【问题描述】:我希望在 sqlite3 中本地创建一个字符串,它将收集所有非数字值,但是列格式包含 TEXT 格式的所有数据并用 [""] 包装,例如:
[“1234567”] 要么 [“单词”]
没有数字和字母的混合,但我无法构建一个仅解析 sqlite 本身内的非数字值的字符串。最接近的我需要 sed 和 grep 之后(充其量是任何语言的新手,并且每天都在学习)这将导致“单词”,上面的示例作为值:
sqlite3 data.db "从表 ORDER BY 列中选择 DISTINCT 列" |sed 's/[][]//g'|sed 's/"//g' | grep -v '[0-9] '
单词
【问题讨论】:
【参考方案1】:由于没有数字和字母的混合,您可以使用运算符GLOB
获取所有具有非数字字符的行:
SELECT *
FROM tablename
WHERE col NOT GLOB '*[0-9]*';
查看简化的demo。
【讨论】:
完美。我试过 % 通配符,完全错过或忽略了 *.这就像一个魅力,谢谢!以上是关于在 sqlite 中本地删除特殊字符的主要内容,如果未能解决你的问题,请参考以下文章