mysql自定義函式(function)

2021-09-13 15:03:12 字數 2044 閱讀 6182

語法:

create function 函式名(引數)

returns 返回值資料型別

asbegin

sql語句(必須有return 變數或值)

end

例子:

1.建立函式:

create  function mystr(@strs varchar(50))

returns varchar(50)

asbegin

declare @str2 varchar(30)

set @str2=@strs

return @str2

end

2.執行函式:

select dbo.mystr('aa') as result
在sql語句中執行:

declare @str3 varchar(30)

set @str3=(select name from userinfo where huji=dbo.mystr('邯鄲') and id=23 )

select @str3

經典例子:

-- 最簡單的僅有一條sql的函式

create function myselect2() returns int return 666;

select myselect2(); -- 呼叫函式

--create function myselect3() returns int

begin

declare c int;

select id from class where cname="python" into c;

return c;

end;

select myselect3();

-- 帶傳參的函式

create function myselect5(name varchar(15)) returns int

begin

declare c int;

select id from class where cname=name into c;

return c;

end;

select myselect5("python");

語法:

create function 函式名(引數)

returns table

asreturn(一條sql語句)

例子:

1.建立函式:

create  function   tabcmess(@title varchar(10))

returns table

as return(select title,des from product where title like '%'+@title+'%')

2.執行:

select * from tabcmess('aaa')
語法:

create function 函式名(引數)

returns **變數名table (**變數定義)

as begin

sql語句

end

例子:

create   function tabcmessalot (@title varchar(10))

returns @ctable table(title varchar(10) null,des varchar(100) null)

asbegin

insert @ctable select title,des from product where title like '%'+@title+'%'

return

end--執行

select * from tabcmessalot('aaa')

還可以參考文章:

mysql自定義函式優點 MySQL自定義函式

在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...

mysql自定義函式命名 MySQL自定義函式

在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...

mysql 自定義函式

今天要做乙個排序,有中文和英文的,資料庫採用utf8編碼,排除來的不對,所以需要將中文轉換成中文的第乙個字母,然後來排序 先小小的看一下mysql的自定義函式 drop function if exists fntable 如果存在就刪除 delimiter 函式開始 create function...