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)