From: | "Marcos Saldivar" <baron(dot)rojo(dot)cuerdas(dot)de(dot)acero(at)gmail(dot)com> |
---|---|
To: | "Roberto A(dot)" <gedeon56(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: Problemas usando like |
Date: | 2008-11-11 20:25:05 |
Message-ID: | 1c4d91ab0811111225j2c19aa27m2414b3e90d2f4b36@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
2008/11/11 Roberto A. <gedeon56(at)gmail(dot)com>:
> Roberto Almanza LL.
>
> Hola Lista .
> Mi problema es el siguiente.
>
>
> CREATE DOMAIN var_nomb as varchar(30) not null;
>
> CREATE TABLE DEPARTAMENTO( cod_dep varchar(15) primary key,
> nombre varchar(100) not null
> );
>
> CREATE TABLE PROFESOR( dni varchar(15) primary key,
> nombre var_nomb,
> apellido var_nomb,
> titulacion varchar not null,
> cod_dep varchar(15),
> foreign key(cod_dep) references departamento(cod_dep)
>
>
> El problema es el siguiente
> - Necesito validar el campo dni para que sea de este tipo "1.123.452-L"
>
> ej.
> insert into alumno values('1.123.452-L','Jose
> Antonio','Arenas','Bernabé','96-568-47-24','Pza. La paz, 3',
> 'Altea','Alicante','25-05-1973','C');
>
> Para esto intente usar la sintaxis de sql que es " dni like
> '[0-9].[0-9][0-9][0-9].[0-9][0-9][0-9]-[A-Z]' "
> pero no funciona en postgres
>
> Pregunta
> -¿Cual es la sintaxis que debo usar para validar esta condicion en
> postgres?. o como se maneja el operador like en postgres
> - Como inplemento el operador like en los triggers.
si usas "~" asi:
select '1.234.456-l' ~ '[1-9].([0-9]{3}).([0-9]{3})-[a-zA-z]';
Creo que seria mejor que separes en dos campos uno para 1234456 bigint
y un campo varchar(1) para la letra(l)... Para el RUN de Chile lo hago
asi y creo un funcion que se le entrega el RUN y calcula el digito
verificador.
Saludos.-
From | Date | Subject | |
---|---|---|---|
Next Message | Guido Barosio | 2008-11-11 20:30:44 | Argentina PUG |
Previous Message | Julio Cesar Rodriguez Dominguez | 2008-11-11 20:18:26 | Re: Problema con Copy to delimiter |