数据库应用第三次作业.docVIP

  • 4
  • 0
  • 约6.89千字
  • 约 9页
  • 2017-06-11 发布于北京
  • 举报
作业三 自己编写一个函数reversion,完成颠倒一个字符串,即:select dbo.reversion(abcd) 输出的结果为 dcba; create function reversion (@str varchar(4000)) returns varchar(4000) as begin declare @ret varchar(4000) declare @i int set @ret= set @i=len(@str) while @i0 begin set @ret=@ret+substring(@str,@i,1) set @i=@i -1 end return @ret end select dbo.reversion(abcdefg) 设计一个函数用来计算一个字符串中,另一个字符串出现的次数; create function countString (@str1 varchar(100),@str2 varchar(100)) returns int as begin declare @n int,@I int set @n=0 set @I=1 while @I=(len(@str1)-len(@str2)+1) begin if substring(@str1,@I,len(@str2))=@str2 set @n=@n+1 set @I=@I+1 end return @n end select dbo.countString(afhbcdafhhdfah,afh) 写一个函数T-sql函数elimination(a,b)将出现在第一个字符串中的第二个字符串中的所有字符删除,即:select dbo.elimination(abcdefg12345,bd2) 输出为:acefg1345; create function elimination (@a varchar(4000), @b varchar(4000)) returns varchar(4000) as begin --declare @ret varchar(4000) declare @i int --set @ret= set @i=1 while @i len(@b) begin set @a=replace(@a,substring(@b,@i,1),) set @i= @i + 1 end return @a end select dbo.elimination(abcdefg12345,bcd253) 编写一个函数用来精确计算某个人的当前年龄(精确到二位小数),比如:20.13岁 Create function CustomAge (@Birthday datetime) Returns float As begin Declare @age float Set @age=replace(round(datedoff(dd,@Birthday,getdate())/365.00,2),right(round(datedoff(dd,@Birthday,getdate())/365.00,2),4),’’) Return @age end Select dbo.custom_avg(1) 编写一个函数实现将货币值用中文输出,例如12340.56,输出为:壹万二仟叁佰肆拾元伍角六分。 select dbo.Convert_money(20002.45,0) select dbo.Convert_money(20002.45,1) */ Create function exchange(@money float) returns varchar(100) As begin Declare @str1 varchar (30),@str2 varchar (100),@str varchar (2),@i int,@j int Set @Str1=rtrim(ltrim(str(@money,20,2))) Set @str2=replace(‘ ’,100) Set @i=1 Set @j=@i While (@i=length(@str1)) Begin If substring(@str1,@i,1)!=’.’ Begin Set @str=case substring(@str1,@i,1) WHEN 0 THEN 零 WHEN 1 THEN 壹 WHEN 2 THEN 贰 WHEN 3 THEN 叁 WHEN

文档评论(0)

1亿VIP精品文档

相关文档