MYSQL 常見的內建函數與自訂函數

來源:互聯網
上載者:User

標籤:日期   mysql   處理   互動   now()   sql   改變   子程式   定義   

MySQL 內建函數:

  • 字元函數
  • 數值函數 
  • 時間日期函數

常見的數值函數的使用:

1 select avg(tdb_goods) from tdb_goods;  //求欄位值的平均數

  

 

內建的求和函數:
1 select sum(goods_price) from tdb_goods; //求欄位值的和

 

  

  

  • 常見的日期函數舉例
  • 1 select now(); 

             

  • 1 select current_timestamp();

     

使用者自訂函數:

  • 文法
20.2.1. CREATE PROCEDURE和CREATE FUNCTIONCREATE PROCEDURE sp_name ([proc_parameter[,...]])    [characteristic ...] routine_body CREATE FUNCTION sp_name ([func_parameter[,...]])    RETURNS type    [characteristic ...] routine_body        proc_parameter:    [ IN | OUT | INOUT ] param_name type        func_parameter:    param_name type type:    Any valid MySQL data type characteristic:    LANGUAGE SQL  | [NOT] DETERMINISTIC  | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }  | SQL SECURITY { DEFINER | INVOKER }  | COMMENT ‘string‘ routine_body:    Valid SQL procedure statement or statements
  •    一個簡單的求和函數
  • 1 create function sum(num1 int,num2 int)2 returns int3 return (num1+num2)/2;

 

   如果自訂函數中包含複合陳述式的話,就要使用begin..end語句。

1 [begin_label:] BEGIN2     [statement_list]3   END [end_label]

//

儲存子程式可以使用BEGIN ... END複合陳述式來包含多個語句。statement_list 代表一個或多個語句的列表。statement_list之內每個語句都必須用分號(;)來結尾。


複合陳述式可以被標記。除非begin_label存在,否則end_label不能被給出,並且如果二者都存在,他們必須是同樣的。


請注意,可選的[NOT] ATOMIC子句現在還不被支援。這意味著在指令塊的開始沒有互動的儲存點被設定,並且在上下文中用到的BEGIN子句對當前互動動作沒有影響。


使用多重語句需要用戶端能發送包含語句定界符;的查詢字串。這個符號在命令列用戶端被用delimiter命令來處理。改變查詢結尾定界符;(比如改變為//)使得; 可被用在子程式體中。


 

MYSQL 常見的內建函數與自訂函數

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.