SQL SERVER2000教程-第七章 Transact-SQL编程 第七节 用户自定义函数


CREATE FUNCTION
1、创建用户定义函数,它是返回值的已保存的 Transact-SQL 例程。用户定义函数不能用于执行一组修改全局
数据库状态的操作。与系统函数一样,用户定义函数可以从查询中唤醒调用。也可以像存储过程一样,通过
 EXECUTE 语句执行。用户定义函数用 ALTER FUNCTION 修改,用 DROP FUNCTION 除去。
例:CREATE FUNCTION 创建了一个函数CubicVolume 来计算立方体的体积,变量CubeLength CubeWidth CubeHeight 为输入参数,返回值为数值型。
BEGIN 表明函数体的开始,END 表明函数体的结束
 
Create Function CubicVolume(@CubeLength decimal(4,1),@CubeWidth decimal(4,1),@CubeHeight decimal(4,1) )
 Returns decimal(12,3)
 As
 Begin
    Return (@CubeLength * @CubeWidth * @CubeHeight)
 End
 --SELECT  AppDta.dbo.CubicVolume (10,8,6)
2、内嵌表值函数
用户定义函数与table 型数据
Use pubs
Create Function SalesByStore(@storeid varchar(30))
Returns Table
As
Return (Select title, qty From sales s, titles t
 Where s.stor_id = @storeid and t.title_id = s.title_id)
-- select * from sales
SELECT * FROM Pubs.dbo.SalesByStore(7131)
3、利用DATENAME函数创建自定义日期转换函数
DATENAME函数是返回代表指定日期部分的字符串
语法说明
DATENAME(DATEPART,DATE)
参数说明
DATEPART
是指定应返回的日期部分的参数,WEEKDAY(DW)日期部分返回星期几(星期天、星期一等)
返回类型
NVARCHAR
例:根据日期返回特定格式的日期 如:2007年10月1日16时58分42秒
DROP FUNCTION dbo.Convert_Date
GO
CREATE FUNCTION dbo.Convert_Date(@date datetime)
RETURNS VARCHAR(38)
as
begin
RETURN  '今天是'+DATENAME(yy,@date)+'年'+
               +DATENAME(mm,@date)+'月'+
               +DATENAME(dd,@date)+'日'+
               +DATENAME(hh,@date)+'时'+
               +DATENAME(mi,@date)+'分'+
               +DATENAME(ss,@date)+'秒'+
               +DATENAME(dw,@date)
End
GO
SELECT dbo.Convert_Date(GETDATE()) AS 日期

你可能感兴趣的:(数据库,函数,职场,自定义,休闲)