码迷,mamicode.com
首页 > 数据库 > 详细

Mysql的数据库存储过程的初始接触

时间:2017-07-07 16:36:48      阅读:235      评论:0      收藏:0      [点我收藏+]

标签:varchar   ring   nbsp   turn   current   bst   pad   mat   bsp   

之前一直搞oracle,来到新公司后接触mysql虽然感觉差不多,但是mysql的还是很不方便,比如以下函数都不支持turnc这样的简单函数。

打算写一个订单号的存储过程,类似  字母+年月日编号

BEGIN
DECLARE currentDate varCHAR (15) ;-- 当前日期,有可能包含时分秒
DECLARE maxNo INT DEFAULT 0 ; -- 离现在最近的满足条件的订单编号的流水号最后5位,如:SH2013011000002的maxNo=2

SELECT DATE_FORMAT(NOW(), ‘%Y%m%d‘) INTO currentDate ;
select max(substring(t.order_no,12,4)) into maxNo from mmd_po_order t where substring(t.order_no,4,8)=DATE_FORMAT(now(),‘%Y%m%d‘);
if maxNo!=‘‘ THEN
SELECT CONCAT(‘MMD‘, currentDate, LPAD((maxNo + 1), 4, ‘0‘)) INTO orderNo ; -- LPAD((maxNo + 1), 5, ‘0‘):如果不足5位,将用0填充左边
ELSE
SELECT CONCAT(‘MMD‘, currentDate, ‘0001‘) INTO orderNo ;
END IF;

select orderNo;

COMMIT;
END

Mysql的数据库存储过程的初始接触

标签:varchar   ring   nbsp   turn   current   bst   pad   mat   bsp   

原文地址:http://www.cnblogs.com/ljk1107/p/7132673.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!