为了正常的体验网站,请在浏览器设置里面开启Javascript功能!
首页 > SQL自定义函数生成如200101010005格局的订单编号[宝典]

SQL自定义函数生成如200101010005格局的订单编号[宝典]

2018-03-23 3页 doc 14KB 23阅读

用户头像

is_219945

暂无简介

举报
SQL自定义函数生成如200101010005格局的订单编号[宝典]SQL自定义函数生成如200101010005格局的订单编号[宝典] SQL自定义函数生成如200101010005格式的订单编号 博客分类: , SQL SQL SQL生成如200101010005格式的订单编号、SQLServer| 2009-09-11 14:52:16 阅200101010005前面八位表示当天的年月日,后四位表示当开已经生成的订单编号,每次递增+1 sql语句格式化数字(前面补0)的参考示例: 将一个数字例如20或1使用t-sql语句转换成0020或0001 以下是详细分析: 1、s...
SQL自定义函数生成如200101010005格局的订单编号[宝典]
SQL自定义函数生成如200101010005格局的订单编号[宝典] SQL自定义函数生成如200101010005格式的订单编号 博客分类: , SQL SQL SQL生成如200101010005格式的订单编号、SQLServer| 2009-09-11 14:52:16 阅200101010005前面八位示当天的年月日,后四位表示当开已经生成的订单编号,每次递增+1 sql语句格式化数字(前面补0)的参考示例: 将一个数字例如20或1使用t-sql语句转换成0020或0001 以下是详细分析: 1、select power(10,4)得到10000 2、select cast(10000+20 as varchar) 将10000转换类型 值为10020 3、select right(10020,4) 从右边取4个字符得到0020 合并 select right(cast(power(10,4) as varchar)+20,4) 得到0020 接下来生成订单号: DECLARE @Order_id decimal(12,0) DECLARE @Date varchar(8) declare @Index int --获取当前订单表中的最新订单号 select @Order_id = max(order_id) from tblorder --获取当前日期XXXXXXXX如20010101 select @Date = CONVERT(varchar(8), GETDATE(),112) --获取当前日期和现有订单的日期匹配如现在的最新订单号为:200101010005 --今天的日期也是20010101 --那么@Index = 1 select @Index = charindex(@Date, @Order_id) --那么后四位则是200101010005的最后四位加1 Cast(right(Cast(Right(@Order_id,4) as decimal) + 1 + 10000,4) as varchar(12)) --否则就是从头开始'0001' select @Order_id = @Date + case when @Index = 1 then Cast(right(Cast(Right(@Order_id,4) as decimal) + 1 + 10000,4) as varchar(12)) else '0001' end Sql自定义函数 Java代码 1. create function [dbo].[CreateOrderID]() 2. returns decimal(12,0) 3. as 4. begin 5. DECLARE @Order_id decimal(12,0) 6. DECLARE @Date varchar(8) 7. 8. --获取当前订单表中的最新订单号 9. select @Order_id = max(order_id) from tblorder 10. 11. --获取当前日期XXXXXXXX如20010101 12. select @Date = CONVERT(varchar(8), GETDATE(),112) 13. 14. select @Order_id = @Date + case when charindex(@Date, @Order_i d) = 1 then 15. Cast(right(Cast(Right(@Order_id,4) as decimal) + 1 + 10000,4) as varchar(12)) 16. else '0001' end 17. 18. return @Order_id 19.end 只要在Insert时调用dbo.createorderid()即可
/
本文档为【SQL自定义函数生成如200101010005格局的订单编号[宝典]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索