mysql 函数 生成订单号_mysql 函数根据日期生成订单号

#创建一个自动生成订单序号的函数20140103001

#作用:可以减少连接数据库的次数,减少数据库的负担,加快程序的的运行

drop function if exists create_sn;

delimiter $$

create function test_1.create_sn() returns bigint(15) #编写程序时要注意数据类型

begin

declare order_sn bigint(15);

declare prev bigint(15);

declare prevdatetime bigint(15);

declare sn bigint(15);

declare nowdate bigint(15);

select order_sn from userorder order by userorder_id desc limit 1 into prev; #赋值prev

select concat(year(prev),month(prev),dayofmonth(prev)) into prevdatetime;

select right(prev,4) into sn;

select concat(year(now()),month(now()),dayofmonth(now())) into nowdate;

#if isnull(prev) && nowdate = prevdatetime then mysql不支持这样写

if isnull(prev) then

select concat(nowdate,'0001') into order_sn;

return order_sn;

elseif nowdate = prevdatetime then

select concat(nowdate,'0001') into order_sn;

return order_sn;

else

select concat(prevdatetime,(sn+1)) into order_sn;

return order_sn;

end if;

end

$$

delimiter ;

select create_sn();

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值