~ SQLITE 中的运算符
~ operator in SQLITE
我在 Postgres 上 运行查询这部分,运行没问题
where column ~ '^[0-9]'
但是当我尝试在 SQLite 中 运行 它时,我得到这个错误:
near "~": syntax error
你知道我如何在 SQLite 中运行这个函数吗?
实际上,如果您想要以数字开头的列,您可以简单地使用:
where substr(column, 1, 1) between '0' and '9'
SQLite 本身不支持正则表达式——尽管它很容易扩展。它确实支持 Unix 通配符,但在这种情况下,您可以使用内置函数。
SQLite 支持 GLOB
运算符:
WHERE column GLOB '[0-9]*'
[0-9]
表示该值以数字开头,*
表示可以跟在任何字符之后。
我在 Postgres 上 运行查询这部分,运行没问题
where column ~ '^[0-9]'
但是当我尝试在 SQLite 中 运行 它时,我得到这个错误:
near "~": syntax error
你知道我如何在 SQLite 中运行这个函数吗?
实际上,如果您想要以数字开头的列,您可以简单地使用:
where substr(column, 1, 1) between '0' and '9'
SQLite 本身不支持正则表达式——尽管它很容易扩展。它确实支持 Unix 通配符,但在这种情况下,您可以使用内置函数。
SQLite 支持 GLOB
运算符:
WHERE column GLOB '[0-9]*'
[0-9]
表示该值以数字开头,*
表示可以跟在任何字符之后。