如何使用数组的第一项?

时间:2011-05-10 14:51:19

标签: sql regex postgresql

  

SELECT regexp_matches('abc',   '[0-9] *');

上面的查询返回text[]并需要检查,是否发现任何(我不关心哪些)匹配或没有。

所以在上面的情况下,我得到{""},我怎么能得到“布尔”值,它告诉我它是否匹配什么东西?

这似乎不起作用:

  

SELECT regexp_matches('abc','[0-9] *')   ='{}';

1 个答案:

答案 0 :(得分:4)

使用~ operator

SELECT 'abc' ~ '[0-9]*';

或者,你可以拉出第一个这样的项目:

SELECT (regexp_matches('abc', '[0-9]*'))[1] = ''; -- True if it didn't match

请注意额外的括号,并且数组从1开始编制索引。