>>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 ‘609@@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 <=@length
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
Disclaimer: 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