InicioInfoValidar CBU en SQL

Validar CBU en SQL

Info1/15/2010
Le paso el codigo sql para validar un cbu en sql hecho por Diego Mancini


create FUNCTION [dbo].[ValidarCBUdigito]
(
-- Add the parameters for the function here
@block VARCHAR(100)
)
RETURNS TINYINT
AS
BEGIN
DECLARE @subblock VARCHAR(100)
DECLARE @posicion INTEGER
DECLARE @digito CHAR(1)
DECLARE @Pond CHAR(4)
DECLARE @largo INTEGER
DECLARE @suma INTEGER

SELECT @suma = 0
SELECT @largo = LEN ( @block )
SELECT @digito = SUBSTRING ( @block , @largo , 1 )
SELECT @subblock = SUBSTRING ( @block , 1 , @largo - 1 )
SELECT @Pond = '9713'
SELECT @posicion = 1

WHILE @posicion <= @largo - 1
BEGIN
SELECT @suma = @suma + CONVERT( INTEGER , SUBSTRING ( @subblock , @largo - @posicion , 1 )) * CONVERT( INTEGER , SUBSTRING ( @pond ,CASE (@posicion % 4) WHEN 1 THEN 4 WHEN 2 THEN 3 WHEN 3 THEN 2 WHEN 0 THEN 1 END , 1 ) )
SELECT @posicion = @posicion + 1
END


if @digito = RIGHT ( convert( varchar, 10 - ( @suma % 10 )) , 1 )
RETURN 1

RETURN 0
END



create FUNCTION [dbo].[ValidarCBUdigito]
(
-- Add the parameters for the function here
@block VARCHAR(100)
)
RETURNS TINYINT
AS
BEGIN
DECLARE @subblock VARCHAR(100)
DECLARE @posicion INTEGER
DECLARE @digito CHAR(1)
DECLARE @Pond CHAR(4)
DECLARE @largo INTEGER
DECLARE @suma INTEGER

SELECT @suma = 0
SELECT @largo = LEN ( @block )
SELECT @digito = SUBSTRING ( @block , @largo , 1 )
SELECT @subblock = SUBSTRING ( @block , 1 , @largo - 1 )
SELECT @Pond = '9713'
SELECT @posicion = 1

WHILE @posicion <= @largo - 1
BEGIN
SELECT @suma = @suma + CONVERT( INTEGER , SUBSTRING ( @subblock , @largo - @posicion , 1 )) * CONVERT( INTEGER , SUBSTRING ( @pond ,CASE (@posicion % 4) WHEN 1 THEN 4 WHEN 2 THEN 3 WHEN 3 THEN 2 WHEN 0 THEN 1 END , 1 ) )
SELECT @posicion = @posicion + 1
END


if @digito = RIGHT ( convert( varchar, 10 - ( @suma % 10 )) , 1 )
RETURN 1

RETURN 0
END
Datos archivados del Taringa! original
0puntos
23visitas
0comentarios
Actividad nueva en Posteamelo
0puntos
3visitas
0comentarios
Dar puntos:

Dejá tu comentario

0/2000

Autor del Post

a
aleperretta🇦🇷
Usuario
Puntos0
Posts5
Ver perfil →
PosteameloArchivo Histórico de Taringa! (2004-2017). Preservando la inteligencia colectiva de la internet hispanohablante.

CONTACTO

18 de Septiembre 455, Casilla 52

Chillán, Región de Ñuble, Chile

Solo correo postal

© 2026 Posteamelo.com. No afiliado con Taringa! ni sus sucesores.

Contenido preservado con fines históricos y culturales.