2015-01-15 21 views
0

我在Postgres裏有一個coloumn,裏面有文字。我想搜索該文本中的某個單詞,並在該單詞之後不顯示任何內容。 示例:如果文本是:「我是一個非常宗教的堆棧溢出用戶,我總是使用它來進行研究。」 所以現在我不想在「永遠」這個詞後面顯示任何東西 如何做到這一點?使用Postgres在特定單詞上進行數據投影?

預期的O/P應該是:「我是一個非常宗教的堆棧溢出用戶。」 這個詞總是相同的,但可能會或可能不會出現在文本中。 感謝

回答

0

您可以使用正則表達式:

select regexp_replace(the_column, 'always.*', '') 

這將取代一切後(包括)與無字always,但如果沒有找到的話不會取代任何東西。

如果你也想「釣」的大寫或大小寫混合的同一個詞,只是傳遞一個標誌regexp_replace在不區分大小寫的方式工作

select regexp_replace(the_column, 'always.*', '', 'i') 

SQLFiddle例如:http://sqlfiddle.com/#!15/d41d8/4307

+0

謝謝。我也使用了position()和substring –

相關問題