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)
推荐阅读