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

199
Vistas
¿Cuál es la mejor manera de replicar los resultados de clasificación de PostgreSQL en JavaScript?

Estoy tratando de replicar los resultados de clasificación de PostgreSQL con fines de prueba.

Suponga que tiene una tabla temp con un solo name de columna que contiene las siguientes líneas:

 dolores et dolor nemo abc zxc

Ahora ejecuta la siguiente consulta:

 SELECT * from temp ORDER BY name ASC

El resultado ordenado es:

 abc dolores et dolor nemo zxc

Sin embargo, la implementación predeterminada para ordenar en lenguajes de programación lo devolverá de manera diferente:

 abc dolor nemo dolores et zxc

En JavaScript:

 ["dolores et", "dolor nemo", 'abc' , 'zxc'].sort() // returns ["abc", "dolor nemo", "dolores et", "zxc"]

Me preguntaba si hay una manera fácil de replicar el resultado de clasificación de la base de datos en JavaScript (estoy usando NodeJS), para poder verificarlo en mis pruebas. Creo que me estoy perdiendo algo muy simple aquí. Cualquier ayuda es apreciada.

Podría intentar usar una función como esta para forzar el orden en PostgreSQL, pero no quiero eso. Mi objetivo es replicar el comportamiento predeterminado en JavaScript.

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

0

La clasificación de cadenas siempre se realiza mediante una determinada colación . Si no está consciente de usar una intercalación en su lenguaje de programación, probablemente esté usando la intercalación POSIX , que compara cadenas carácter por carácter según su punto de código (el valor numérico en la codificación).

En PostgreSQL, eso se vería así:

 ORDER BY name COLLATE "POSIX";

Entonces, para resolver su problema, tendría que averiguar la intercalación de la columna.

Si no se especifica una intercalación especial en la definición de la columna, utilizará la intercalación de la base de datos, que se puede encontrar con

 SELECT datcollate FROM pg_database WHERE datname = 'my_database';

Esa será una recopilación del sistema operativo de la biblioteca C.

Entonces, todo lo que tiene que hacer es usar esa intercalación en su programa.

Si su programa está escrito en C, puede usar directamente la biblioteca C. De lo contrario, consulte la documentación de su lenguaje de programación.

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