SQLServer初始自定义函数

dbo:database owner的缩写,是数据库用户所有者的缩写。

SELECT COL_LENGTH('stu','name') -- 返回字段的长度的函数
SELECT COL_NAME(OBJECT_ID('db1.dbo.stu'),2) -- 返回字段名称的函数

 

我的第一个SQLServer自定义函数

功能:输入年龄,查找这个年龄的同学的姓名,并且返回其姓名。

返回的是一个表格,所以这种函数成为表值函数

CREATE FUNCTION getStuNameByAge(@Age INT)
RETURNS TABLE -- 返回值类型是一个表格
AS
RETURN
(
	SELECT name FROM dbo.stu WHERE age=@Age
)

调用这个函数时的语句:

SELECT * FROM getStuNameByAge(11) 

我的第二个SQLServer函数

功能:求一个整数的阶乘

返回的是一个标量,所以这种函数又成为标量函数。

CREATE FUNCTION F_自定义函数(@number INT)
RETURNS INT
AS	
BEGIN -- begin和end相当于C语言中左的左括号和右括号
	DECLARE @m INT -- 定义一个INT类型的变量,并且设置其初始值为1
	SET @m=1
	IF(@number<0)
		SET @m=0  -- 变量复制前都要加上set
	ELSE IF(@number<2)
		SET @m=1
	ELSE 
	BEGIN	
		WHILE @number!=0
		BEGIN
			SET @m=@m*@number  -- set是赋值函数的哈
			SET @number=@number-1
		END
	END	
RETURN @m
END	

调用这个函数时的语句:

SELECT dbo.F_自定义函数(5)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章