我一直在研究关于模式匹配的PostgreSQL 9.0文档,但我仍然不明白如何获得我想要的结果。
鉴于表格sandbox
如下所示:id, segment
包含这个:
1, foo
2, foo-bar
3, foo-bar-baz
当我选择foo-bar-baz
并且它也匹配片段的“根”(在这种情况下为foo
)并返回时,我是如何做到的:
1, foo
3, foo-bar-baz
同样,搜索foo-bar
将返回:
1, foo
2, foo-bar
编辑:
虽然a_horse_with_no_name的解决方案工作得很好。我还是想知道是否还有其他答案。
答案 0 :(得分:2)
这样的事情:
SELECT * FROM sandbox WHERE segment = 'foo-bar-baz' OR segment = (string_to_array ('foo-bar-baz', '-')) [1];