1

我在 Postgres 上运行这部分查询并且运行良好

where column ~ '^[0-9]'

但是当我尝试在 SQLite 中运行它时,我得到了这个错误:

“~”附近:语法错误

你知道如何在 SQLite 中运行这个函数吗?

4

2 回答 2

2

实际上,如果您想要以数字开头的列,您可以简单地使用:

where substr(column, 1, 1) between '0' and '9'

SQLite 没有对正则表达式的原生支持——尽管它很容易扩展。它确实使用支持 Unix globbing,但在这种情况下,您可以使用内置函数。

于 2021-04-15T11:47:47.503 回答
1

SQLite 支持GLOB运算符:

WHERE column GLOB '[0-9]*'

[0-9]表示该值以数字开头,*表示可以跟随任何字符。

于 2021-04-15T12:53:33.473 回答