Phone Number Convertor

>>Script Language and Platform: MS SQL 7.0 and MS SQL 2000
–Objective: To format the phone number and to convert Alphabetic telephone number to Numeric
–eg: exec telephone ‘900-call-cloe’ will display ‘(900)225-5256’ and
–exec telephone ‘[email protected]@34$$$6068D’ will display (609)346-0683

Author: Claire Hsu

create procedure telephone @phone varchar(100) as

declare @length int
declare @count int
declare @digit varchar(1)
declare @string varchar(100)
declare @ascii int

set @string = ”
set @count = 1
set @length = len(@phone)
while @count <[email protected] begin set @digit = substring(@phone, @count, 1) set @ascii = ascii(@digit) if @ascii >=48 and @ascii <=57 begin set @string = @string + @digit end if (@ascii >=97 and @ascii <=122) or (@ascii >=65 and @ascii <=90) begin if @digit in ('a','b','c') begin set @digit = 2 set @string = @string + @digit end if @digit in ('d','e','f') begin set @digit = 3 set @string = @string + @digit end if @digit in ('g','h','i') begin set @digit = 4 set @string = @string + @digit &n! bsp;end if @digit in ('j','k','l') begin set @digit = 5 set @string = @string + @digit end if @digit in ('m','n','o') begin set @digit = 6 set @string = @string + @digit end if @digit in ('p','q','r','s') begin set @digit = 7 set @string = @string + @digit end if @digit in ('t','u','v') begin set @digit = 8 set @string = @string + @digit end if @digit in ('w','x','y','z') begin set @digit = 9 set @string = @string + @digit end end set @count = @count+1 end set @string = substring (@string,1,10) set @string = "("+substring(@string,1,3)+")"+substring(@string,4,3)+"-"+substring(@string,7,4) print @string --Usage --exec telephone '([email protected]#@#@$##%$#$^%$^%$&)' --exec telephone '(([email protected]##$#%#$%#$%XXXX-xx' --exec telephone '800-Aaa-XXxx' --exec telephone '[email protected]@34$$$6068D' --exec telephone '900-call-cloe'

We hope that the information on these script pages is
valuable to you. Your use of the information contained in these pages,
however, is at your sole risk. All information on these pages is provided
“as -is”, without any warranty, whether express or implied, of its accuracy,
completeness, or fitness for a particular purpose…

Disclaimer Continued

Back to Database Journal Home

Latest Articles