儲存函式,儲存異常處理

2021-05-28 05:36:43 字數 3101 閱讀 1702

異常**:

sqlstate**

error 1022 

內建異常描述

declare  exit      handler  for sqlstate 資訊 執行的動作;

declare  continue  handler  for sqlstate 資訊 執行的動作;

注意:1、  執行順序(宣告位置無要求,建議在開頭,當錯誤出現的時候被執行,如果

是exit型別的在終止整個儲存過程的執行;如果是continue型別的則從錯誤

出現的位置繼續);

2、構成條件;

自定義異常描述

一.字串類

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

二.數學類

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為小數字數]

三.日期時間類

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) //小時

last_day(date) //date的月的最後日期

microsecond(datetime) //微秒

month(datetime) //月

minute(datetime) //分

RUBY中儲存異常現場

無法接觸到伺服器,但有些問題需要異常的資料,雖然可以在丟擲異常時把資料給手動列印到日記,感覺太麻煩了 記得有看豆瓣的架構時,有提到他們在發生異常時,會把當時的所有變數都列印到日記裡,方便除錯.在ruby中實現這個也不難,稍微有點難的是本地變數的儲存 例項變數已經在rails已經有現在的實現了 quo...

儲存過程 異常處理continue

drop table if exists t2 create table t2 s1 int,primary key s1 engine innodb delete from t2 drop procedure if exists p23 delimiter create procedure p23...

mysql儲存過程異常處理

定義條件和處理程式是事先定義程式執行過程中可能遇到的問題。並且可以在處理程式中定 決這些問題的辦法。這種方式可以提前 可能出現的問題,並提出解決辦法。這樣可以增強程式處理問題的能力,避免程式異常停止。mysql中都是通過declare關鍵字來定義條件和處理程式。本小節中將詳細講解如何定義條件和處理程...