| From: | Rodrigo Ruiz Fuentes <rruizf(at)gmail(dot)com> |
|---|---|
| To: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
| Cc: | Ayuda <pgsql-es-ayuda(at)postgresql(dot)org> |
| Subject: | Re: Buscar texto con prefijo y sufijo determinado |
| Date: | 2011-11-08 14:30:59 |
| Message-ID: | 4EB93D23.7050607@gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | pgsql-es-ayuda |
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
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Alvaro Herrera | 2011-11-08 16:07:09 | Re: Buscar texto con prefijo y sufijo determinado |
| Previous Message | Jaime Casanova | 2011-11-08 14:30:37 | Re: TABLAS SPACE |