1. 程式人生 > >( 18 )MySQL中的函數

( 18 )MySQL中的函數

p s ron align set 數列 return 單位 全局 bstr

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中的函數