Excluir linhas do banco de dados postgres contém string / frase [closed]

0

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.

    
por treetop 25.05.2016 / 18:09

2 respostas

0

Pela função LOWER, você pode pesquisar insensivelmente sua string.

DELETE FROM mytable WHERE LOWER(title) LIKE '%it is a sunny day%';
    
por 25.05.2016 / 19:02
0

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).

    
por 25.05.2016 / 18:40