时间: 2020-09-4|tag:39次围观|0 条评论

函数

sql教程7函数插图
mysql> SELECT movie_id,title, UCASE(title)  FROM movies;+----------+---------------------------+---------------------------+| movie_id | title                     | UCASE(title)              |+----------+---------------------------+---------------------------+|       16 | 67% Guilty                | 67% GUILTY                ||        6 | Angels and Demons         | ANGELS AND DEMONS         ||        4 | Code Name Black           | CODE NAME BLACK           ||        5 | Daddy's Little Girls      | DADDY'S LITTLE GIRLS      ||        7 | Davinci Code              | DAVINCI CODE              ||        2 | Forgetting Sarah Marshal  | FORGETTING SARAH MARSHAL  ||        9 | Honey mooners             | HONEY MOONERS             ||       19 | movie 3                   | MOVIE 3                   ||       22 | movie 3                   | MOVIE 3                   ||       23 | movie 3                   | MOVIE 3                   ||        1 | Pirates of the Caribean 4 | PIRATES OF THE CARIBEAN 4 ||       17 | The Great Dictator        | THE GREAT DICTATOR        ||        3 | X-Men                     | X-MEN                     |+----------+---------------------------+---------------------------+13 rows in set (0.03 sec)mysql> SELECT 23 DIV 6 ;+----------+| 23 DIV 6 |+----------+|        3 |+----------+1 row in set (0.00 sec)mysql> SELECT 23 / 6 ;+--------+| 23 / 6 |+--------+| 3.8333 |+--------+1 row in set (0.00 sec)mysql> SELECT 23 - 6 ;+--------+| 23 - 6 |+--------+|     17 |+--------+1 row in set (0.01 sec)mysql> SELECT 23 + 6 ;+--------+| 23 + 6 |+--------+|     29 |+--------+1 row in set (0.00 sec)mysql> SELECT 23 * 6 AS multiplication_result;+-----------------------+| multiplication_result |+-----------------------+|                   138 |+-----------------------+1 row in set (0.00 sec)mysql> SELECT 23 % 6 ;+--------+| 23 % 6 |+--------+|      5 |+--------+1 row in set (0.00 sec)mysql> SELECT 23 MOD 6 ;+----------+| 23 MOD 6 |+----------+|        5 |+----------+1 row in set (0.00 sec)mysql> SELECT FLOOR(23 / 6) AS floor_result;+--------------+| floor_result |+--------------+|            3 |+--------------+1 row in set (0.00 sec)mysql> SELECT ROUND(23 / 6) AS round_result;+--------------+| round_result |+--------------+|            4 |+--------------+1 row in set (0.00 sec)mysql> SELECT RAND() AS random_result;+---------------------+| random_result       |+---------------------+| 0.22114622799786388 |+---------------------+1 row in set (0.00 sec)

存储函数

  • 语法
CREATE FUNCTION sf_name ([parameter(s)])   RETURNS data type   DETERMINISTIC   STATEMENTS
  • 实例
DELIMITER |CREATE FUNCTION sf_past_movie_return_date (return_date DATE)  RETURNS VARCHAR(3)   DETERMINISTIC    BEGIN     DECLARE sf_value VARCHAR(3);        IF curdate() > return_date            THEN SET sf_value = 'Yes';        ELSEIF  curdate() <= return_date            THEN SET sf_value = 'No';        END IF;     RETURN sf_value;    END|

汇聚函数

COUNT, SUM, AVG, MIN and MAX.

mysql> SELECT COUNT(movie_id)  FROM movierentals WHERE movie_id = 2;+-----------------+| COUNT(movie_id) |+-----------------+|               3 |+-----------------+1 row in set (0.00 sec)mysql> SELECT DISTINCT movie_id FROM movierentals;+----------+| movie_id |+----------+|        1 ||        2 ||        3 |+----------+3 rows in set (0.00 sec)mysql> SELECT MIN(year_released) FROM movies;+--------------------+| MIN(year_released) |+--------------------+|               1920 |+--------------------+1 row in set (0.00 sec)mysql> SELECT MAX(year_released)  FROM movies;+--------------------+| MAX(year_released) |+--------------------+|               2012 |+--------------------+1 row in set (0.00 sec)mysql> SELECT SUM(amount_paid) FROM payments;+------------------+| SUM(amount_paid) |+------------------+|            10500 |+------------------+1 row in set (0.00 sec)

存储函数

DELIMITER |CREATE FUNCTION sf_past_movie_return_date (return_date DATE)  RETURNS VARCHAR(3)   DETERMINISTIC    BEGIN     DECLARE sf_value VARCHAR(3);        IF curdate() > return_date            THEN SET sf_value = 'Yes';        ELSEIF  curdate() <= return_date            THEN SET sf_value = 'No';        END IF;     RETURN sf_value;    END|mysql> SELECT movie_id,membership_number,return_date,CURDATE() ,sf_date(return_date)  FROM movierentals;+----------+-------------------+-------------+------------+----------------------+| movie_id | membership_number | return_date | CURDATE()  | sf_date(return_date) |+----------+-------------------+-------------+------------+----------------------+|        1 |                 1 | NULL        | 2020-03-23 | NULL                 ||        2 |                 1 | 2012-06-25  | 2020-03-23 | Yes                  ||        2 |                 3 | 2012-06-25  | 2020-03-23 | Yes                  ||        2 |                 2 | 2012-06-24  | 2020-03-23 | Yes                  ||        3 |                 3 | NULL        | 2020-03-23 | NULL                 |+----------+-------------------+-------------+------------+----------------------+5 rows in set (0.00 sec)

文章转载于:https://www.jianshu.com/p/e2158eff8104

原著是一个有趣的人,若有侵权,请通知删除

本博客所有文章如无特别注明均为原创。
复制或转载请以超链接形式注明转自起风了,原文地址《sql教程7函数
   

还没有人抢沙发呢~