今天寫乙個簡單點的自定義函式muniu:
實現兩個數的加減muniu(a,b,op);
drop function if
exists muniu;
delimiter $$
create function muniu(a int(11),b int(11), op varchar(50)) returns int
begin
declare p varchar(80);
select op into p;
if(trim(p)="+")
then return a+b;
elseif trim(p) = "-"
then return a-b;
endif;end$$
delimiter ;
將如上的**放入mysql中執行,如下所示,實現了自定義的兩個數的加法與減法運算
mysql> drop function if exists muniu;
query ok, 0 rows affected (0.00 sec)
mysql> delimiter $$
mysql> create function muniu(a int(11),b int(11), op varchar(50)) returns int
-> begin
-> declare p varchar(80);
-> select op into p;
-> if(trim(p)="+")
-> then return a+b;
-> ***elseif trim = "-"#這裡寫錯了***
-> then return a-b;
-> end if;
-> end$$
query ok, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql>
mysql> select muniu(3,5," + ");
+--------------------+
| muniu(3,5," + ") |
+--------------------+
| 8 |
+--------------------+
1 row in set (0.00 sec)
mysql> select muniu(8,2," - ");
error 1054 (42s22): unknown column 'trim' in 'field list'
mysql>
mysql>
mysql>
mysql>
mysql> drop function if exists muniu;
query ok, 0 rows affected (0.00 sec)
mysql> delimiter $$####修改之後重新執行一遍
mysql> create function muniu(a int(11),b int(11), op varchar(50)) returns int
-> begin
-> declare p varchar(80);
-> select op into p;
-> if(trim(p)="+")
-> then return a+b;
-> elseif trim(p) = "-"
-> then return a-b;
-> end if;
-> end$$
query ok, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql>
mysql>
mysql> select muniu(3,5," +");
+------------------+
| muniu(3,5," +") |
+------------------+
| 8 |
+------------------+
1 row in set (0.00 sec)
mysql> select muniu(8,2,"- ");
+------------------+
| muniu(8,2,"- ") |
+------------------+
| 6 |
+------------------+
1 row in set (0.00 sec)
自定義函式的意義:
官方函式是有限的,特殊的需求需要自定義函式來實現
mysql自定義函式優點 MySQL自定義函式
在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...
mysql自定義函式命名 MySQL自定義函式
在使用 mysql 的過程中,mysql 自帶的函式可能完成不了我們的業務需求,這時候就需要自定義函式。自定義函式是一種與儲存過程十分相似的過程式資料庫物件。它與儲存過程一樣,都是由 sql 語句和過程式語句組成的 片段,並且可以被應用程式和其他 sql 語句呼叫。自定義函式與儲存過程之間存在幾點區...
mysql 自定義函式
今天要做乙個排序,有中文和英文的,資料庫採用utf8編碼,排除來的不對,所以需要將中文轉換成中文的第乙個字母,然後來排序 先小小的看一下mysql的自定義函式 drop function if exists fntable 如果存在就刪除 delimiter 函式開始 create function...