在 sqlite 中本地删除特殊字符

removing special characters natively in sqlite

我希望在 sqlite3 中创建一个本地字符串,它将收集所有非数字值,但是列格式包含文本格式的所有数据并用 [""] 包裹,例如:

["1234567"] 要么 [“单词”]

没有数字和字母的混合,但我无法构建一个仅解析 sqlite 本身内的非数字值的字符串。最近我需要 sed 和 grep 之后(充其量是任何语言的新手并且我每天都在学习)这将导致 'word',以上示例作为值:

sqlite3 data.db “select 来自 table ORDER BY 列的 DISTINCT 列” |sed 's/[][]//g'|sed 's/"//g' | grep -v '[0-9]'

因为没有数字和字母的混合你可以用运算符GLOB:

得到所有非数字字符的行
SELECT *
FROM tablename
WHERE col NOT GLOB '*[0-9]*';

查看简化版 demo