Pela função LOWER, você pode pesquisar insensivelmente sua string.
DELETE FROM mytable WHERE LOWER(title) LIKE '%it is a sunny day%';
Gostaria de saber como excluir linhas inteiras em uma tabela postgres que contenha uma string específica na coluna title
. Então, se a string for:
it is a sunny day
Como posso emitir um comando no postgres para remover completamente esta linha da tabela? Por exemplo, a seguinte linha seria excluída:
12, I woke up and to my surprise it is a sunny day, 54645646,
Além disso, eu gostaria que ele ignorasse maiúsculas e minúsculas, já que a string poderia ser uma mistura de letras maiúsculas e minúsculas (ou seja, o meu caso varia ao longo da tabela). Qualquer ajuda apreciada.
Eu tentei:
DELETE FROM mytable where title like 'it is a sunny day'
Mas nenhum registro foi atualizado, apesar de eu saber que há várias linhas com essa sequência.
Você está no meio do caminho. Você precisa usar um padrão regexp, não apenas uma string, para pesquisar apenas uma parte da string de entrada, e a palavra-chave ILIKE para insensibilidade a maiúsculas e minúsculas. Consulte o link para obter detalhes (essa URL é válida apenas para versões 9.x do PostgreSQL).
Tags postgresql replace