Replace
從 postgres 數據庫中刪除包含字元串/句子的行
我想知道如何刪除 postgres 表中包含
title
列中特定字元串的整行。所以如果字元串是:it is a sunny day
如何在 postgres 中發出命令以完全從表中刪除該行。例如,以下行將被刪除:
12, I woke up and to my surprise it is a sunny day, 54645646,
另外,我希望它忽略大小寫,因為字元串可能是大寫和小寫字母的混合(即我在整個表格中的大小寫不同)。任何幫助表示讚賞。
我試過了:
DELETE FROM mytable where title like 'it is a sunny day'
但是,儘管我知道有很多行包含此字元串,但沒有更新任何記錄。
通過 LOWER 函式,您可以不區分大小寫地搜尋您的字元串。
DELETE FROM mytable WHERE LOWER(title) LIKE '%it is a sunny day%';
你已經成功了。您需要使用正則表達式模式(而不僅僅是字元串)來僅搜尋輸入字元串的一部分,並使用 ILIKE 關鍵字來區分大小寫。有關詳細資訊,請參閱https://www.postgresql.org/docs/9.0/static/functions-matching.html(該 URL 僅對 PostgreSQL 的 9.x 版本有效)。