Thursday, September 19, 2019

Validar CUIT/CUIL para Argentina desde una función en SQL Server – Validate Argentinian CUIT/CUIL from SQL Server function

IF EXISTS (
SELECT
*
FROM
sys.objects
WHERE
object_id = OBJECT_ID(N'[dbo].[fn_ValidarCUIT]’) AND type in (N’FN’, N’IF’, N’TF’, N’FS’, N’FT’)
)
begin
drop function fn_ValidarCUIT
end
GO
create function 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
Matías Creimerman
About the author:
Matías Creimerman
I’m a specialist in design, development and management of software solutions with almost 20 years of experience. Microsoft Certificated Professional (MCP). Expert in dot net and Microsoft technologies. Experience and skills in designing solutions in a wide range of commercial, industrial and production areas. Design of architectures, software applications and processes. Skills in leadership and team management. Tech trainer. Technology researcher. Self-taught and dedicated to continuous learning. Skills in estimation, quotation, projects proposals and solutions design. Entrepreneurial spirit. Strong Tech profile but also customer oriented. I perform roles as fullstack dev, tech consultant, technical referent, development leader, team leader, architect, cross leader, tech manager, tech director, trainer, ramp-up & follow-up teams, software factory manager, DevOps and release manager. Regular chess player and musician.
Professional Website In Blogger Github About Me Portfolio
Wordpress - Arquitectura y desarrollo de software Wordpress - Personal Blog Microsoft - Youracclaim Badges Microsoft - Tech Profile Microsoft - ASP.NET Forum tw
Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License Creative Commons License
This content is property of Matias Creimerman Any misuse of this material will be punishable
This work is licensed under a International Copyright Law protects "original works of authorship"
including photographs, videos, and blog posts posted on social media sites
The content has no rights to be shared without authorization or citation to the author.
This content cannot be sold be adapted or modified partially or totally.
All content shared outside this blog that doesn't belong to the author must have citations to the author.

No comments:

Post a Comment