Re: Ayuda con Check (listo)

From: Marco Aurelio Sotelo Figueroa <masotelof(at)yahoo(dot)com(dot)mx>
To: Alvaro Herrera <alvherre(at)dcc(dot)uchile(dot)cl>, Ayuda Postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Ayuda con Check (listo)
Date: 2005-04-27 21:20:35
Message-ID: 42700223.3020901@yahoo.com.mx
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:

>On Wed, Apr 27, 2005 at 10:41:01PM +0200, Marco Aurelio Sotelo Figueroa wrote:
>
>
>
>>>>&nbsp;&nbsp;&nbsp; constraint chk_cliente_rfc check (rfc like
>>>>'[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][0-9]' or
>>>>rfc like
>>>>'[A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][A-Z][A-Z][0-9]'),<br>
>>>>&nbsp;&nbsp;&nbsp; constraint chk_cliente_curp check (curp like
>>>>'[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9][H,M][A-Z][A-Z][A-Z][A-Z][A-Z][0-9][0-9]'),<br>
>>>>&nbsp;&nbsp;&nbsp; constraint fk_cliente_ciudad foreign key (ciudad)
>>>>references ciudad
>>>>(id_ciudad));</font><br>
>>>>
>>>>
>>Cuales son los cuantificadores {M,N}, lo que pasa es que esas funciones
>>es de una base de datos que se me proporciono en SQL server y estoy
>>transformando a Postgres, el problema es que alla si funciona, por otra
>>parte [H,M] es solo por la eleccion de H o M (esto es para el CURP).
>>
>>
>
>Creo que la expresion para rfc deberia ser
>
>(rfc like [A-Z]{3,4}[0-9]{6}[A-Z]{2}[0-9])
>
>y lo de curp
>
>(curp like [A-Z]{4}[0-9]{6}[HM][A-Z]{4}[0-9]{2})
>
>Supongo que con eso se aclara la pregunta de los cuantificadores.
>
>Con respecto a [H,M], debes saber que las clases de caracteres no se
>separan por comas; todos los caracteres entre los [] son considerados
>como coincidencias del patron. Por lo tanto, no debes poner , entre los
>[] si no quieres que haya , en el campo.
>
>Una cosa que me acabo de dar cuenta es que estas comparando estas
>expresiones con LIKE ... _obviamente_ esto no va a funcionar!! Tienes
>que usar el operador de expresiones regulares, que seria ~ (o si quieres
>que las expresiones no sean sensibles a minusculas, ~*)
>
>No se por que no me sorprende que viniendo de SQL Server aparezcan unas
>expresiones que violan completamente el estandar SQL (las clases de
>caracteres no estan soportadas en LIKE, solo en SIMILAR TO).
>
>Lo otro que no me sorprende es que no me haya dado cuenta antes de que
>no eran expresiones regulares POSIX: dado que tu mensaje viene en HTML
>se hace algo dificil de leer ...
>
>Suerte,
>
>
>
Listo, es verdad, muchas gracias, solo me falta añadir, por si alguno se
sirve la funcion quedaria:

(rfc ~ '[A-Z]{3,4}[0-9]{6}[A-Z]{2}[0-9]')

--

*The Skull Leader*

* La Capacidad, Responsabilidad, Etica y Profesionalismo no son
comparables ni tienen relacion con la vestimenta y apariencia del ser
humano, TODOS SOMO IGUALES. *

Attachment Content-Type Size
masotelof.vcf text/x-vcard 200 bytes

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Victor Hugo Roumieu 2005-04-27 22:07:14 ordenamiento de una consulta
Previous Message Manuel Sugawara 2005-04-27 21:17:31 Re: ordenamiento de una consulta