Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

192
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda