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

3K
Vistas
TypeORM select con distinción entre mayúsculas y minúsculas

Estoy tratando de crear un generador de consultas TypeORM que se conecte a una base de datos postgresql para obtener todos los nombres únicos en la base de datos. Mi consulta se ve así

 names = await this._context.manager .getRepository(Names) .createQueryBuilder('names') .select('DISTINCT ON (names.name) names.name') .orderBy('names.name', 'ASC') .getRawMany();

En este momento, esta consulta obtiene todos los nombres en la base de datos, pero distingue entre mayúsculas y minúsculas, por lo que no puede clasificar duplicados como 'Jane Doe' de 'jane doe'. Hasta ahora, he tratado de hacer mayúsculas/minúsculas distintas de esta manera: .select('DISTINCT ON LOWER(names.name) names.name') pero eso no funciona. También encontré una función .distinctOn() pero tampoco pude hacer que ese caso no sea sensible.

Soy nuevo en typeORM, así que no sé adónde ir desde aquí, ¿alguna idea?

Estoy trabajando en Node.JS hacia una base de datos postgresql si eso marca la diferencia.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

El tema de este problema es postgres en lugar de typeORM. Pregunta similar: Eliminar filas duplicadas en Postgres .

En su caso, la sintaxis correcta es:

 names = await this._context.manager .getRepository(Names) .createQueryBuilder('names') .select('DISTINCT ON (LOWER(names.name)) names.name') .orderBy('LOWER(names.name)', 'ASC') .getRawMany();
over 4 years ago · Santiago Trujillo Denunciar

0

Con Repository, hice la búsqueda que no distingue entre mayúsculas y minúsculas con postgres como base de datos usando el operador ILIKE de esta manera

 const planning_groups: any[] = await this.planningGroupRepository.find({ where: `"tenant_id" ILIKE '${tenantId}'` });

donde Tenant_id es un nombre de columna y tenantId es una palabra clave para buscar.

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