mysql 儲存過程 資料庫從菜鳥走向大神系列2

2021-08-01 17:40:21 字數 4185 閱讀 2620

mysql儲存過程的基本函式

(1).字串類

charset(str)//返回字串字符集 

concat (string2 [,... ])//連線字串

instr (string ,substring )//返回substring首次在string中出現的位置,不存在返回0

lcase (string2 )//轉換成小寫

left (string2 ,length )//從string2中的左邊起取length個字元

length (string )//string長度

load_file (file_name )//從檔案讀取內容

locate (substring , string [,start_position ] ) 同instr,但可指定開始位置

lpad (string2 ,length ,pad )//重複用pad加在string開頭,直到字串長度為length

ltrim (string2 )//去除前端空格

repeat (string2 ,count )//重複count次

replace (str ,search_str ,replace_str )//在str中用replace_str替換search_str

rpad (string2 ,length ,pad)//在str後用pad補充,直到長度為length

rtrim (string2 )//去除後端空格

strcmp (string1 ,string2 )//逐字元比較兩字串大小,

substring (str , position [,length ])//從str的position開始,取length個字元,

注:mysql中處理字串時,預設第乙個字元下標為1,即引數position必須大於等於1

mysql> select substring('abcd',0,2); 

+-----------------------+

| substring('abcd',0,2) |

+-----------------------+

+-----------------------+

1 row in

set (0.00

sec)

mysql> select substring('abcd',1,2);

+-----------------------+

| substring('abcd',1,2) |

+-----------------------+

| ab |

+-----------------------+

1 row in

set (0.02

sec)

trim([[both|leading|trailing] [padding] from]string2) //去除指定位置的指定字元 

ucase (string2 ) //轉換成大寫

right(string2,length) //取string2最後length個字元

space(count) //生成count個空格

(2).數學類

abs (number2 ) //絕對值 

bin (decimal_number ) //十進位制轉二進位制

ceiling (number2 ) //向上取整

conv(number2,from_base,to_base)

//進製轉換

floor (number2 ) //向下取整

format (number,decimal_places ) //保留小數字數

hex (decimalnumber ) //轉十六進製制

注:hex()中可傳入字串,則返回其asc-11碼,如hex('def')返回4142143

也可以傳入十進位制整數,返回其十六進製制編碼,如hex(25)返回19

least (number , number2 [,..]) //求最小值

mod (numerator ,denominator ) //求餘

power (number ,power ) //求指數

rand([seed])

//隨機數

round (number [,decimals ]) //四捨五入,decimals為小數字數]

注:返回型別並非均為整數,如:

(1)預設變為整形值

mysql> select round(1.23); 

+-------------+

| round(1.23) |

+-------------+

| 1 |

+-------------+

1 row in

set (0.00

sec)

mysql> select round(1.56);

+-------------+

| round(1.56) |

+-------------+

| 2 |

+-------------+

1 row in

set (0.00

sec)

(2)可以設定小數字數,返回浮點型資料

mysql> select round(1.567,2); 

+----------------+

| round(1.567,2) |

+----------------+

| 1.57 |

+----------------+

1 row in

set (0.00

sec)

sign (number2 )//

(3).日期時間類

addtime (date2 ,time_interval )//將time_interval加到date2 

convert_tz (datetime2 ,fromtz ,totz )//轉換時區

current_date ( )//當前日期

current_time ( )//當前時間

current_timestamp ( )//當前時間戳

date (datetime )//返回datetime的日期部分

date_add (date2 , interval d_value d_type )//在date2中加上日期或時間

date_format (datetime ,formatcodes )//使用formatcodes格式顯示datetime

date_sub (date2 , interval d_value d_type )//在date2上減去乙個時間

datediff (date1 ,date2 )//兩個日期差

day (date )//返回日期的天

dayname (date )//英文星期

dayofweek (date )//星期(1-7) ,1為星期天

dayofyear (date )//一年中的第幾天

extract (interval_name from date )//從date中提取日期的指定部分

makedate (year ,day )//給出年及年中的第幾天,生成日期串

maketime (hour ,minute ,second )//生成時間串

monthname (date )//英文月份名

now ( )//當前時間

sec_to_time (seconds )//秒數轉成時間

str_to_date (string ,format )//字串轉成時間,以format格式顯示

timediff (datetime1 ,datetime2 )//兩個時間差

time_to_sec (time )//時間轉秒數]

week (date_time [,start_of_week ])//第幾周

year (datetime )//年份

dayofmonth(datetime)//月的第幾天

hour(datetime)//小時

菜鳥學資料庫 儲存過程

今天繼續我們的sql菜鳥教程,上篇部落格說了說觸發器 sql菜鳥入門級教程之觸發器 今天我們來說說儲存過程。其實,觸發器也屬於儲存過程,只不過它比較特殊。下面切入正題,讓我帶領眾菜鳥們一起學習一下儲存過程。儲存過程簡介 儲存過程 stored procedure 是資料庫系統中,一組為了完成特定功能...

mysql資料庫 儲存過程

類似於 函式 是一組為了完成特定功能的sql語句集,第一次編譯,以後可以直接呼叫不需要再次編譯。根據定義的不同需要傳入引數 1 增強sql語言的功能和靈活性 儲存過程可以用控制語句編寫,有很強的靈活性,可以完成複雜的判斷和較複雜的運算。2 標準元件式程式設計 儲存過程被建立後,可以在程式中被多次呼叫...

八 資料庫mysql儲存過程

8.1什麼是儲存過程 儲存過程 帶有邏輯的sql語句 之前的sql沒有條件判斷,沒有迴圈 儲存過程帶上流程控制語句 if while 8.2儲存過程特點 1 執行效率非常快,儲存過程是在資料庫的伺服器端執行的!2 移植性很差!不同資料庫的儲存過程是不能移植 8.3儲存過程語法 建立儲存過程 deli...