如何在PostgreSQL中选择以数字开头的行?

时间:2010-04-18 11:41:05

标签: sql postgresql

需要获取以数字开头的行,例如'1test','32测试'。 我试过了

SELECT * FROM table WHERE name LIKE '[0-9]%'

就像我以前在MSSQL中做的那样但是没有成功。

3 个答案:

答案 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';