如何在PostgreSQL中选择以数字开头的行?
需要获取以数字开头的行,例如“1test”、“32 test”。 我试过了 正如我以前在MSSQL中所做的那样,但没有成功。尝试以下方法:如何在PostgreSQL中选择以数字开头的行?,sql,postgresql,Sql,Postgresql,需要获取以数字开头的行,例如“1test”、“32 test”。 我试过了 正如我以前在MSSQL中所做的那样,但没有成功。尝试以下方法: SELECT * FROM table WHERE name ~ '^[0-9]' 这使用了POSIX正则表达式。根据,您可以使用类似于的而不是类似于的来执行类似正则表达式的匹配,并使用~来执行完整的POSIX正则表达式匹配。此解决方案可能比正则表达式更快,因为正则表达式需要大量CPU: SELECT ... FROM "table" WHERE subs
SELECT * FROM table WHERE name ~ '^[0-9]'
这使用了POSIX正则表达式。根据,您可以使用类似于的
而不是类似于的来执行类似正则表达式的匹配,并使用~
来执行完整的POSIX正则表达式匹配。此解决方案可能比正则表达式更快,因为正则表达式需要大量CPU:
SELECT ... FROM "table" WHERE substr(name, 1, 1) BETWEEN '0' AND '9';
谢谢大家。这对任何可能从中受益的人都有帮助,如果您想要相反的结果(以数字以外的数字开头的记录),请使用前面的“not”运算符,即!~”^[0-9]”
SELECT ... FROM "table" WHERE substr(name, 1, 1) BETWEEN '0' AND '9';