Luciano Evaristo Guerche

A brazilian geek interested in .NET technologies

About Me

CREATE FUNCTION dbo.IsValidCPF

IF EXISTS(

SELECT *

FROM dbo.sysobjects

WHERE id = object_id(N'[dbo].[IsValidCPF]') AND

xtype in (N'FN', N'IF', N'TF')

)

BEGIN

DROP FUNCTION [dbo].[IsValidCPF]

END

GO

CREATE FUNCTION dbo.IsValidCPF

(

@CPF varchar(11)

)

RETURNS bit

AS

BEGIN

DECLARE @Digito int

DECLARE @Index int

DECLARE @Modulo int

DECLARE @Soma1 int

DECLARE @Soma2 int

DECLARE @DigitoVerificador1 int

DECLARE @DigitoVerificador2 int

 

SET @Index = 1

SET @Soma1 = 0

SET @Soma2 = 0

 

WHILE @Index <= 9

BEGIN

SET @Digito = CAST(SUBSTRING(@CPF, @Index, 1) AS int)

SET @Soma1 = @Soma1 + ((11 - @Index) * @Digito)

SET @Soma2 = @Soma2 + ((12 - @Index) * @Digito)

SET @Index = @Index + 1

END

 

SET @Modulo = @Soma1 % 11

IF @Modulo < 2

BEGIN

SET @DigitoVerificador1 = 0

END

ELSE

BEGIN

SET @DigitoVerificador1 = 11 - @Modulo

END

 

SET @Soma2 = @Soma2 + (2 * @DigitoVerificador1)

SET @Modulo = @Soma2 % 11

 

IF @Modulo < 2

BEGIN

SET @DigitoVerificador2 = 0

END

ELSE

BEGIN

SET @DigitoVerificador2 = 11 - @Modulo

END

 

IF SUBSTRING(@CPF, 10, 1) = CAST(@DigitoVerificador1 AS varchar(1)) AND

SUBSTRING(@CPF, 11, 1) = CAST(@DigitoVerificador2 AS varchar(1))

BEGIN

RETURN 1

END

 

RETURN 0

END

GO

 

Comments

rodrigo diniz said:

Sei que não tem nada a ver com seu post.. mas como você conseguiu uma blog no weblogs.asp.net?
Se precisar ser MCP , eu sou.
Obrigado
# May 10, 2006 8:01 AM

Luciano Evaristo Guerche said:

Caro Rodrigo,

Tenho este blog já há um bom tempo. Naquela época, interessado em ter um blog no weblogs.asp.net, resolvi enviar uma mensagem para o administrador do site, fazendo a mesma pergunta que você e ele respondeu prontamente, criando uma conta para mim, conforme desejado. Participei de algumas palestras da Microsoft Brasil e é lamentável que estimulem a utilização do The Spoke. No formulário, quando perguntam em que site a pessoa tem blog hospedado, não há opções além de The Spoke e MSN Spaces.

Vale a pena tentar. Envie uma mensagem para o administrador do site, que ainda deve ser o Scott Watermasysk, informe alguns dados a seu respeito (conhecimento técnico, empresas onde trabalha ou trabalhou e que sejam reconhecidas internacionalmente, e os cursos e certificados que possui) e quem sabe não criam uma conta para você também.

Boa sorte!
# May 10, 2006 6:53 PM
Leave a Comment

(required) 

(required) 

(optional)

(required)