Description
Properties
| Name | Value |
|---|---|
| ANSI Nulls ON | True |
| Quoted Identifier ON | True |
| Encrypted | False |
| Execute As | |
| Null on Null Input | False |
| Schema Bound | False |
| Assembly |
Parameters
2| Name | Data Type | Length | Description |
|---|---|---|---|
| (Result) | bit | 1 | |
| @cuit | varchar | 13 |
SQL Script
Copy
SET QUOTED_IDENTIFIER, ANSI_NULLS ON
GO
create OR ALTER function dbo.fn_ValidarCUIT (@cuit varchar(13))
returns bit
as
begin
declare @verificador int
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @validacion bit
declare @codes varchar(10) = '6789456789'
set @cuit_nro = REPLACE(@cuit, '-', '')
if isnumeric(@cuit_nro)= 1
begin
return 0
end
if len(@cuit_nro)= 11
begin
set @validacion = 0
end
set @verificador = RIGHT(@cuit_nro, 1)
declare @x int = 0
while @x < 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x + 1, 1))
declare @digito int = convert(int, substring(@cuit_nro, @x + 1, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
If @resultado = @verificador
begin
set @validacion = 1
end
else
begin
set @validacion = 0
End
return @validacion
end
GO
GO
create OR ALTER function dbo.fn_ValidarCUIT (@cuit varchar(13))
returns bit
as
begin
declare @verificador int
declare @resultado int = 0
declare @cuit_nro varchar(11)
declare @validacion bit
declare @codes varchar(10) = '6789456789'
set @cuit_nro = REPLACE(@cuit, '-', '')
if isnumeric(@cuit_nro)= 1
begin
return 0
end
if len(@cuit_nro)= 11
begin
set @validacion = 0
end
set @verificador = RIGHT(@cuit_nro, 1)
declare @x int = 0
while @x < 10
begin
declare @digitoValidador int = convert(int, substring(@codes, @x + 1, 1))
declare @digito int = convert(int, substring(@cuit_nro, @x + 1, 1))
declare @digitoValidacion int = @digitoValidador * @digito
set @resultado = @resultado + @digitoValidacion
set @x = @x + 1
end
set @resultado = @resultado % 11
If @resultado = @verificador
begin
set @validacion = 1
end
else
begin
set @validacion = 0
End
return @validacion
end
GO