jenish -number to word
alter function dbo.NtoW(@firstvalue int=823)
returns varchar(max)
as
begin
declare
@firstval varchar(max),
@value varchar(max),
@i int,
@vasa varchar(max),
@khasa varchar(max),
@thau varchar(max),
@hun varchar(max),
@tens varchar(max),
@ones varchar(max),
@len int,
@a varchar(max)=' ',
@sub varchar(max)
if @firstvalue IN (0.00,0) BEGIN set @a='zero' return @a END
select @firstval=cast(@firstvalue as varchar(max))
set @len=len(@firstval)
--
set @i=0
--------------Loop starts(and the len are found)-------------
while (@i<@len)
begin
set @i=@i+1
if @i=1
begin
set @len=@len
end
if @i<>1
begin
set @len=@len-(@i-1)
end
--
---------------------(recognizing number begins)---------------------------------------
if @len=4
begin
set @vasa='Thausand'
-----
set @value=substring(@firstval,@i,1)
set @khasa=dbo.number(@value)
----
set @thau = @khasa + ' ' +@vasa +' '
end
---------------------------------
if @len=3
begin
set @vasa='Hundred'
-----
set @value=substring(@firstval,@i,1)
set @khasa=dbo.number(@value)
----
if @khasa='' begin set @vasa=''end
set @hun= @khasa + ' ' +@vasa
--print @hun
end
---------------------------------
if @len=2
begin
set @value=substring(@firstval,@i,1)
if isnull(@value,'')<>1
begin
set @value=@value+'0'
set @tens=dbo.number(@value)
end
else begin
set @sub=isnull(@value,'') end
--set @khasa=@khasa +' '+ @whasa
--print @khasa
end
------------------------------------
if @len=1
begin
if @sub<>'' or @sub<>null
begin
set @value=substring(@firstval,@i,1)
set @ones= dbo.number('1'+ @value)
end
else
begin
set @value=substring(@firstval,@i,1)
set @ones=dbo.number(@value) end
end
-----------------------------
if @i=1
begin set @len=@len end
else
begin set @len=@len+(@i-1) end
end
set @a=isnull(@thau,'')+isnull(@hun,'')+isnull(@tens,'')+isnull(@ones,'')
return @a
end
-----------------------------------------------------------------------------------
-------------------------------------------------------------------
alter function dbo.number(@num varchar(max))
returns varchar(max)
as
Begin
declare
@word varchar(max)
SELECT @word= (CASE WHEN @num='1' THEN 'One'
when @num='.' then ''
when @num='0' then ''
when @num='0' then 'Zero'
WHEN @num='2' THEN 'Two'
WHEN @num='3' THEN 'Three'
WHEN @num='4' THEN 'Four'
WHEN @num='5' THEN 'Five'
WHEN @num='6' THEN 'Six'
WHEN @num='7' THEN 'Seven'
WHEN @num='8' THEN 'Eight'
WHEN @num='9' THEN 'Nine'
WHEN @num='10' THEN 'Ten'
WHEN @num='11' THEN 'Eleven'
WHEN @num='12' THEN 'Twelve'
WHEN @num='13' THEN 'Thirteen'
WHEN @num='14' THEN 'Fourteen'
WHEN @num='15' THEN 'Fivteen'
WHEN @num='16' THEN 'Sixteen'
WHEN @num='17' THEN 'Seventeen'
WHEN @num='18' THEN 'Eighteen'
WHEN @num='19' THEN 'Nineteen'
WHEN @num='20' THEN 'Twenty'
WHEN @num='30' THEN 'Thirty'
WHEN @num='40' THEN 'Fourty'
WHEN @num='50' THEN 'Fifty'
WHEN @num='60' THEN 'Sixty'
WHEN @num='70' THEN 'Seventy'
WHEN @num='80' THEN 'Eighty'
WHEN @num='90' THEN 'Ninty' ELSE '' END )
return @word
end
Comments
Post a Comment