( 18 )MySQL中的函數
MySQL中的函數
函數
函數 : 將一段代碼封裝到一個結構中,在需要執行代碼塊的時候,調用結構執行即可(代碼復用)
函數分為兩類: 系統函數和自定義函數
系統函數
系統函數: 系統定義好的函數,直接調用即可.
任何含糊都有返回值,一次函數的調用是通過select調用,MySql的基本操作單位是---字符串.
系統函數:
subString : 截取字符串 SUBSTRING(str,pos,len) 角標從1開始.(字符為單位)
char_length : 字符長度
Length : 字節長度
InStr : 判斷字符串是否存在於具體的字符串中,存在返回位置.不存在返回 0.
Lpad : 左填充,將字符串按照某個指定的填充方式,填充到指定的長度(字符單位)
Insert : 替換,找到目標位置指定長度的字符串,替換成目標字符串
strCmp :字符串比較.(-1 , 0 , 1 )
自定義函數
函數要素 : 函數名,參數列表,返回值,函數體(作用域).
創建函數
創建語法
------------------------------------------------------------
create function 函數名 ([形參列表]) returns 數據類型 --return規定要返回的數據類型
begin
--函數體
--返回值 return 類型(指定的數據類型)
end;
------------------------------------------------------------
創建函數
create function display() returns int
return 100;
調用函數
select display();
查看函數
查看所有函數: show function status [likes ‘pattern‘] ;
查看數據庫的創建語句: select create function 函數名 ;
修改函數&&刪除函數
函數只能修改後新增不能被修改.
基本語法 : drop function 函數名.
函數參數
參數分為兩種 :定義時的參數叫形參,調用的參數叫實參(實參可以是數值也可以的變量)
形參 : 要求必須指定數據類型
Function 函數名 (形參名字 , 字段類型 ) returns 數據類型
需求 : 1到X的和
delimiter $$
create function diaplay1(int_1 int) returns int
begin
set @i = 1;
set @res= 0;
while @i < int_1 do
set @res= @res+ @i ;
set @i = @i + 1;
end while ;
return @res;
end
$$
delimiter ;
作用域
MySql中,全局變量可以使用到任何地方,局部變量只能在函數內部使用
全局變量:
使用set關鍵字定義,使用@符號標誌
局部變量:
使用declare 關鍵字聲明 ,沒有@符號,所有的局部變量的聲明,必須在函數體開始之前.
( 18 )MySQL中的函數