2、存储过程没返回值,参数可以是 IN,OUT,IN OUT类型,有的人可能会理解成OUT 也算是返回值。3、调用方式:函数 select my_fun() 过程 call my_pro( ) 4、DEMO<pre t="code" l="sql">DELIMITER $$
DROP FUNCTION IF EXISTS my_fun$$
CREATE
FUNCTION my_fun(a INT(2),b INT(2))
RETURNS INT(4)
BEGIN
DECLARE sum_ INT(2) DEFAULT 0
SET sum_ = a + b
RETURN sum_
END$$
DELIMITER <pre t="code" l="sql">DELIMITER $$
DROP PROCEDURE IF EXISTS my_pro$$
CREATE
PROCEDURE my_pro(IN a INT(2),IN b INT(2) ,OUT c INT(2))
BEGIN
SET c = a + b
END$$
DELIMITER 5、调用<pre t="code" l="sql">mysql>call my_pro(1,2,@c)
Query OK, 0 rows affected (0.00 sec)
mysql>select @c
+------+
| @c |
+------+
|3 |
+------+
1 row in set (0.00 sec)
mysql>select my_fun(1,2)
+-------------+
| my_fun(1,2) |
+-------------+
| 3 |
+-------------+
1 row in set (0.00 sec)
mysql与excel函数percentrank区别如下:1、数据共享速度不同:mysq中的数据可以在线共享函数percentrank,多个人员可以同时在一个表上工作,数据之间没有干扰,而Excel分享只能通过媒体如微信,QQ,email持续转发函数percentrank给有需要的人,当然在转发的时候已经失去了时效。
2、数据分析能力不同:mysq数据分析功能远远超出了Excel表格,不仅在于图表函数percentrank分析,和拥有强大的BI做数据收集功能。
MySQL获得当前日期+时间(date + time)函数sysdate() :
sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。
如下实例:
mysql>select now(), sleep(3), now()
+---------------------+----------+---------------------+
| now() | sleep(3) | now() |
+---------------------+----------+---------------------+
| 2015-04-12 16:00:00 | 0 | 2015-04-12 16:00:00 |
+---------------------+----------+---------------------+
mysql>select sysdate(), sleep(3), sysdate()
+---------------------+----------+---------------------+
| sysdate() | sleep(3) | sysdate() |
+---------------------+----------+---------------------+
| 2015-04-12 16:01:16 | 0 | 2015-04-12 16:01:19 |
+---------------------+----------+---------------------+
可以看到,虽然中途 sleep 3 秒,但 now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3 秒。MySQL Manual 中是这样描述 sysdate() 的:Return the time at which the function executes。
sysdate() 日期时间函数,一般情况下很少用到。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)