Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

194
Visualizações
Postgresql Seleccione cualquier cosa / todo

Estoy creando una herramienta de búsqueda para Postgres. Tendrá varias entradas de texto (una para cada columna de la tabla). Cuando la entrada de texto está en blanco, quiero que la consulta coincida con todas y cada una de las entradas de la tabla. es posible? Yo he tratado:

 SELECT name FROM contacts WHERE surname = '*'; SELECT name FROM contacts WHERE surname = *;

Como puede imaginar, esto no devuelve nada ya que no hay un apellido de *, y la segunda consulta no es válida. ¿Algunas ideas?

EDITAR:

Debido a la naturaleza de lo que estoy haciendo, un SELECT name FROM contacts no es suficiente. Supongo que podría hacerlo funcionar, pero sería feo. Quiero un WHERE para cada columna de la tabla, pero si la búsqueda de una columna determinada es una cadena vacía, quiero que busque todas las entradas de la tabla.

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

OK, así que encontré mi respuesta aquí . El código correcto es:

 SELECT name FROM contacts WHERE surname ~* '';

devuelve todas las entradas

 SELECT name FROM contacts WHERE surname ~* 'John Doe';

devuelve las entradas que tienen el apellido John Doe .

over 4 years ago · Santiago Trujillo Relatório

0

Quiero que la consulta coincida con todas y cada una de las entradas de la tabla.

Simplemente use SELECT sin la cláusula WHERE surname . Simple como eso.

 SELECT name FROM contacts

Pero si desea utilizar una consulta, puede hacerlo de esta manera:

 cur.execute( """SELECT name FROM contacts WHERE (CASE WHEN %(entry)s != '' THEN surname = %(entry)s ELSE true END)""" , {'entry': "John Doe"} )

En cuanto a su respuesta, usó la coincidencia de expresiones regulares. En la pregunta nunca lo mencionaste. Así que supongo que no es lo que querías. Las expresiones regulares tienen una sintaxis específica, y si se ingresa algún formato de expresión regular no válido en la entrada de texto, la consulta fallará.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda