Wednesday, May 31

ABN validation with SQL (Australian Business Number)

I'm sure we've all wanted to use Sql to validate every ABN number you've got in your database?

I know I have.

Next time, ACN validation.

select abn, Name
from Company C
where abn <> ''
and ( ( ( CAST( SUBSTRING( abn, 1, 1 ) AS integer ) - 1 ) * 10 )
+ ( CAST( SUBSTRING( abn, 2, 1 ) AS integer ) * 1 )
+ ( CAST( SUBSTRING( abn, 3, 1 ) AS integer ) * 3 )
+ ( CAST( SUBSTRING( abn, 4, 1 ) AS integer ) * 5 )
+ ( CAST( SUBSTRING( abn, 5, 1 ) AS integer ) * 7 )
+ ( CAST( SUBSTRING( abn, 6, 1 ) AS integer ) * 9 )
+ ( CAST( SUBSTRING( abn, 7, 1 ) AS integer ) * 11 )
+ ( CAST( SUBSTRING( abn, 8, 1 ) AS integer ) * 13 )
+ ( CAST( SUBSTRING( abn, 9, 1 ) AS integer ) * 15 )
+ ( CAST( SUBSTRING( abn, 10, 1 ) AS integer ) * 17 )
+ ( CAST( SUBSTRING( abn, 11, 1 ) AS integer ) * 19 ) ) % 89 <> 0

No comments: