Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

calcular letra de NIF

Estas en el tema de calcular letra de NIF en el foro de Oracle en Foros del Web. Hola, estoy intentando de elaborar un código que :calcule la letra del NIF dado un número de DNI. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código SQL: Ver original DECLARE ...
  #1 (permalink)  
Antiguo 21/10/2014, 05:54
 
Fecha de Ingreso: octubre-2014
Mensajes: 17
Antigüedad: 10 años, 1 mes
Puntos: 0
calcular letra de NIF

Hola, estoy intentando de elaborar un código que :calcule la letra del NIF dado un número de DNI.

Código SQL:
Ver original
  1. DECLARE
  2.   dni NUMBER(8):=53029797;
  3.   numero NUMBER:=23;
  4.   resultado FLOAT:=dni/numero;
  5.   decimalesdni NUMBER:=2305643;
  6. BEGIN
  7.  
  8. dbms_output.put_line (resultado);
  9. dbms_output.put_line (numero*decimalesdni);
  10. dbms_output.put_line (53029789-dni);
  11. END;
Este es el código que pongo pero no me sale, alguien sabe lo que falta?
Gracias

Última edición por gnzsoloyo; 21/10/2014 a las 06:29
  #2 (permalink)  
Antiguo 21/10/2014, 06:40
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: calcular letra de NIF

No conozco con precision lo que es el NIF, pero según la descripcion del algoritmo, sería mas o menos así:
Código SQL:
Ver original
  1. DECLARE
  2.   dni NUMBER:=53029797;
  3.   numero NUMBER:=23;
  4.   resultado VARCHAR2(50);
  5. BEGIN
  6.    resultado := dni||SUBSTR('TRWAGMYFPDXBNJZSQVHLCKET',MOD(dni,numero)+1,1)
  7.    dbms_output.put_line (resultado);
  8. END;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 23/10/2014, 03:17
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 17 años, 5 meses
Puntos: 43
Respuesta: calcular letra de NIF

gnzsoloyo, correcto.

Este el algorritmo que uso yo para verificar que la letra de un dni es la correcta.

Código SQL:
Ver original
  1. SELECT SUBSTR('TRWAGMYFPDXBNJZSQVHLCKET',MOD(NUM_DNI_SIN_LETRA,23)+1,1)
  2. FROM DUAL;

Etiquetas: calcular, letra
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:14.