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...