On 08/11/11 10:39, Alvaro Herrera wrote:
Excerpts from Rodrigo Ruiz Fuentes's message of mar nov 08 09:46:09 -0300 2011:
Saludos,
tengo una tabla con cuentas y sus respectivos números, y requiero por
ejemplo encontrar todas las cuentas cuyo número comienza con 12, los
siguientes 2 dígitos puede ser cualquier combinación y los restantes
seis deben ser ceros. La búsqueda debiese traerme las cuentas siguientes
por ejemplo:
Lo más preciso que puedes hacer con LIKE es:
LIKE '12__000000'
esto va a aceptar cualquier cosa que tenga otros caracteres en las
posiciones con _ además de dígitos; si tu campo tiene una restricción
que impida almacenar otras cosas deberías estar OK. De lo contrario
deberías usar una expresión regular con ^12[0-9]{2}0{6}$ como ya indicó
alguien.
Excelente! Efectivamente, y se me olvidó mencionar, que el número debía
respetar una estructura y por ello no podía utilizar "LIKE '12%000000'",
deben haber 2 digitos en la 3 y 4 posición, para ello me fue util la
expresión que entregó Aldo y Alvaro, "numero ~ E'^29[0-9]{2}0{6}' AND
numero != '2900000000'" ya que debo quitar además '00' en 3 y 4 posición.
Además, desconocía la utilidad del guión bajo (_) en LIKE, muy buena por
cierto.
Muchas gracias a todos.
--
Rodrigo Ruiz Fuentes
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda