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下面是对函数的定义.
