Registros aleatorios en PostgreSQL y RegExp

¿Buscas un password?
7 marzo, 2014
Convertir NSString date en custom NSString date
10 marzo, 2014

Pg_logoHoy me encontré con la necesidad de realizar un query en PostgreSQL sobre una tabla con 50.000 registros de palabras.

El mismo debía obtener registros con una determinada cantidad de caracteres, en orden aleatorio y dejando excluidos los que contengan acentos y la letra ñ.

Al principio creí que me iba a volver un poco loco, pero la verdad que logré resolverlo de manera muy simple utilizando Regular Expression y la función Random del PostgreSQL

Query:

SELECT palabra FROM palabras
WHERE LENGHT(palabra) BETWEEN 3 AND 5
AND palabra  !~ '(á)|(é)|(í)|(ó)|(ú)|(ñ)'
ORDER BY RANDOM() LIMIT 100;

Deja un comentario