需要获取以数字开头的行,例如'1test','32测试'。 我试过了
SELECT * FROM table WHERE name LIKE '[0-9]%'
就像我以前在MSSQL中做的那样但是没有成功。
答案 0 :(得分:19)
试试这个:
SELECT * FROM table WHERE name ~ '^[0-9]'
这使用POSIX正则表达式。
答案 1 :(得分:7)
根据the docs,您可以使用SIMILAR TO
代替LIKE
进行类似正则表达式的匹配,使用~
进行完整的POSIX正则表达式匹配。
答案 2 :(得分:0)
此解决方案可能比正则表达式更快,因为正则表达式占用大量CPU:
SELECT ... FROM "table" WHERE substr(name, 1, 1) BETWEEN '0' AND '9';