Replace

從 postgres 數據庫中刪除包含字元串/句子的行

  • May 25, 2016

我想知道如何刪除 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 版本有效)。

引用自:https://unix.stackexchange.com/questions/285447