1
resposta

% no lugar de _

O like no Postgresql é diferente do Oracle, certo? No lugar do %(Oracle), usamos o _. É isso?

1 resposta

Oi André,

na verdade é igual. O que ocorre é que além do %, existe ainda o símbolo especial underscore , com ele podemos buscar por um termo em uma posição específica do texto. O underscore indica a quantidade de casas/caracteres antes ou depois do texto buscado.


SELECT * FROM tabela WHERE nome LIKE 'd%';
  • Essa consulta busca todas as linhas da tabela "tabela" em que o valor da coluna "nome" começa com a letra "d". O símbolo "%" representa qualquer número de caracteres após a letra "d", portanto, essa consulta busca palavras que começam com "d" seguidas de qualquer número de caracteres.
SELECT * FROM tabela WHERE nome LIKE '_d'; `
  • Essa consulta busca todas as linhas da tabela "tabela" em que o valor da coluna "nome" tem um comprimento de dois caracteres e o segundo caractere é a letra "d". O símbolo "_" representa um único caractere, portanto, essa consulta busca palavras que têm um caractere antes da letra "d".
SELECT * FROM tabela WHERE nome LIKE '_d%'; 
  • Essa consulta busca todas as linhas da tabela "tabela" em que o valor da coluna "nome" tem pelo menos dois caracteres e o segundo caractere é a letra "d". O símbolo "_" representa um único caractere, e o símbolo "%" representa qualquer número de caracteres após a letra "d", portanto, essa consulta busca palavras que têm um caractere antes da letra "d" e podem ter qualquer número de caracteres após a letra "d".