sql定义函数
❶ T-sql 自定义函数
你这个函数是替换/.后面的所有字符为空,那么SQL语句为
Update [table] set title=Left([Key],Charindex('/.',[Key])-1)
如果你要把这个函数转换成SQL的自定义函数,那么函数为
Create Function [dbo].[MyReplace](@Reg Varchar(1000),@Source Varchar(4000),@Str Varchar(1000))
returns sql_variant
As
Begin
Declare @Err Int
Declare @obj Int
Declare @Rst sql_variant
EXEC @Err=Sp_OACreate 'VBScript.RegExp',@obj OUTPUT
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'Pattern',@Reg
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'Global','True'
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'IgnoreCase','False'
If @Err<>0 GoTo LB
EXEC @Err=Sp_OAMethod @obj,'Replace',@Rst OUTPUT,@source,@Str
If @Err<>0 GoTo LB
EXEC @Err=Sp_OADestroy @obj
If @Err<>0 GoTo LB
Return @Rst
LB:
EXEC Sp_OADestroy @obj
RETURN Null
End
然后调用的SQL语句
Update [table] set title=dbo.MyReplace('/.*',[key],'')
❷ SQL语句定义一个函数
--a为学生表,b为成绩表,c为课程表
create function test(@id varchar(10))
returns table
return
select a.id,a.name,c.kcname,c.kcnumber,b.scores from a
left join b on b.id=a.id
left join c on c.id=a.id
where a.id=@id
这样应该对的,希望可以帮到你。
❸ SQL有哪几种用户自定义函数,区别是什么
用户定义的函数有标量函数和表值函数两种,其中表值函数又分为内联表值函数和多语句表值函数。
❹ SQL_用户定义函数
你需要返回一个TABLE
CREATEFUNCTIONSP_CALC
(@deptVARCHAR(50)---部门编号
)
RETURNS@tTABLE(salAvgfloat,salSumfloat)
AS
BEGIN
计算过程
INSERT@t(salAvg,salSum)VALUES(你计算的值)
RETURN
END
GO
❺ SQL创建用户自定义函数
楼主我只写了其中一个..基本方法都如此,希望对您有帮助,代码如下
ALTER FUNCTION [dbo].[sum]
(
@class varchar(100), --所选课程
@username varchar(20) --学生姓名
)
RETURNS int
AS
BEGIN
DECLARE @reun int
SELECT SUN(@class) FROM YOURTABLE WHERE USERNAME=@username
RETURN @reun
END
❻ 写一个Sql自定义函数
declare @flag int,@no varchar(20),@return int
--先为变量赋值
--set @flag=0...
select @return = search1(@flag,@no)
我没明白,是要写函数的代码还是写调用的代码?调用方法上面已写。
❼ Microsoft SQL Server如何创建 自定义函数
Create Function RmGetPY(@chn nchar(1))
returns char(1)
as
begin
declare @n int
declare @c char(1)
set @n = 63
select @n = @n +1,@c = case chn when @chn then char(@n) else @c end from(
select top 27 * from (
select chn =
'吖' union all select
'八' union all select
'嚓' union all select
'咑' union all select
'妸' union all select
'发' union all select
'旮' union all select
'铪' union all select
'丌' union all select
'丌' union all select
'咔' union all select
'垃' union all select
'呒' union all select
'拏' union all select
'噢' union all select
'妑' union all select
'七' union all select
'呥' union all select
'仨' union all select
'他' union all select
'屲' union all select
'屲' union all select
'屲' union all select
'夕' union all select
'丫' union all select
'帀' union all select @chn) as a
order by chn COLLATE Chinese_PRC_CI_AS
) as b
return(@c)
end
go
Create Function GetAllPY(@chn nvarchar(100))
returns varchar(30)
as
begin
declare @i int,@j int,@result varchar(100)
set @result=''
set @i=len(@chn)
set @j=1
while @j<=@i
begin
set @result = @result + dbo.RmGetPY(substring(@chn,@j,1))
set @j=@j+1
end
return @result
end
看看这两个,典型的取汉字拼音码的函数
❽ SQL中创建一个用户自定义函数
CREATE
FUNCTION
DBO.tFProctsHS
(
@name
VARCHAR(10))
RETURNS
INT
--这个根据价格的类型自己修改
AS
begin
DECLARE
@jiage
INT;
select
@jiage=
jiage
from
商品表
where
name=
@name
RETURN
(@jiage)
end
--ceshi
select
DBO.tFProctsHS
('记事本')
❾ sql 自定义函数
Create function dbo.YourFunName (@DateSrc varchar(20))
returns varchar(8)
as
begin
Declare @dateTemp dateTime
set @dateTemp = convert (datetime,@DateSrc, 121)
if @dateTemp is Null
return null
declare @monthTemp int
declare @DateDes varchar(8)
set @monthTemp = Month(@dateTemp)
if(@monthTemp%3 = 0)
set @DateDes = convert(varchar(1),@monthTemp/3)+'Q'+Convert(varchar,Year(@dateTemp ))
else
set @DateDes = convert(varchar(1),@monthTemp/3+1)+'Q'+Convert(varchar,Year(@dateTemp ))
return @DateDes
end
❿ 关于SQL自定义函数的用法
ALTER是修改的意思
函数的作用是返回 returns @t_DBOM table(MD001 VARCHAR(20),MD003 VARCHAR(20))
AS BEGIN下面是对函数的定义.