Estimado Roberto:
No conozco ese formato de documento pero no importa. 
Me parece que lo mas flexible seria hacer una funcion que reciba como
parametro el DNI y te devuelta por ej verdadero o falso.
Con las funciones que ya tenes predefinidas como Substring, Length, Left,
Rigth.. Creo que hacer cosas tales como:
Validar la longitud, cada uno de los caracteres y todo lo que necesitas
personalizandola de acuerdo a tu pais.
Espero te sirva
Saludos.

________________________________

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Roberto A.
Enviado el: martes, 11 de noviembre de 2008 16:46
Para: pgsql-es-ayuda@postgresql.org
Asunto: [pgsql-es-ayuda] Problemas usando like


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 alguien podria ayudarme.
 
 
 
 
 
 

 
 

__________ Information from ESET NOD32 Antivirus, version of virus signature
database 3603 (20081111) __________

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com
 


--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a