- 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)