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