標籤:日期 mysql 處理 互動 now() sql 改變 子程式 定義
MySQL 內建函數:
常見的數值函數的使用:
1 select avg(tdb_goods) from tdb_goods; //求欄位值的平均數
內建的求和函數:
1 select sum(goods_price) from tdb_goods; //求欄位值的和
- 常見的日期函數舉例
1 select now();
使用者自訂函數:
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
如果自訂函數中包含複合陳述式的話,就要使用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 常見的內建函數與自訂函數