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

3K
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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