欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQLServer初始自定义函数

程序员文章站 2024-02-22 22:57:46
...

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 [email protected]
)

调用这个函数时的语句:

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 @[email protected]*@number  -- set是赋值函数的哈
			SET @[email protected]
		END
	END	
RETURN @m
END	

调用这个函数时的语句:

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