Usage:
select dbo.validateCreditCard (@ccNumber). Where @ccNumber is a 16 digit lenght number in char format.
The function returns a bit datatype (1: valid number, or 0: invalid number)
thor the viking,
2010-03-24 (first published: 2010-03-17)
Usage:
select dbo.validateCreditCard (@ccNumber). Where @ccNumber is a 16 digit lenght number in char format.
The function returns a bit datatype (1: valid number, or 0: invalid number)
CREATE FUNCTION dbo.validateCreditCard ( @CCNumber varchar(20) ) RETURNS bit AS BEGIN declare @lenCCNumber int, @i int, @TotalSum int, @temp int, @isValidCC bit SET @isValidCC = 0 SET @CCNumber = LTRIM(RTRIM(@CCNumber)) IF (@CCNumber IS NULL) OR (LEN(@CCNumber) = 0) OR (ISNUMERIC(@CCNumber) <> 1) GOTO Rtrn SET @lenCCNumber=LEN(@CCNumber) SET @i = 1 SET @temp = 0 SET @TotalSum = 0 WHILE @i <= @lenCCNumber BEGIN IF SUBSTRING(@CCNumber,@i,1) NOT LIKE '[0-9]' GOTO Rtrn SET @temp = CAST(SUBSTRING(@CCNumber,@i,1) AS int) IF (@i % 2) = 1 BEGIN SET @temp = @temp * 2 IF @temp > 9 SET @temp = @temp - 9 END SET @TotalSum = @TotalSum + @temp SET @i = @i + 1 END IF (@TotalSum % 10 = 0) AND (@TotalSum <= 150) SET @isValidCC = 1 Rtrn: RETURN (@isValidCC) END
For most DBAs, normalization is an understood concept, a bread and butter bit of knowledge. However, it is not at all unusual to review a database design by a development group for an OLTP (OnLine Transaction Processing) environment and find that the schema chosen is anything but properly normalized. This article by Brian Kelley will give you the core knowledge to data model.
2003-01-13
18,069 reads
What's this error:Arithmetic overflow error converting IDENTITY to data type int? It was a new one to me, but read on to find out what it means.
2002-10-14
6,900 reads
This article shows you how to design the storage for email addresses, how to validate email addresses, how to retrieve demographic information from email addresses efficiently, using computed columns and indexes. It also covers the security aspect of dealing with email addresses.
Binary data can be stored as integers in a table. This article explains how to query an integer field to return the bits represented by the integer.
2002-06-28
4,567 reads
This article demonstrates how to store checkbox results as integers in a database...perfect for surveys!
2002-06-27
4,427 reads