SQL自定义函数生成如200101010005格式的订单编号.doc_第1页
SQL自定义函数生成如200101010005格式的订单编号.doc_第2页
SQL自定义函数生成如200101010005格式的订单编号.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SQL自定义函数生成如200101010005格式的订单编号 博客分类: SQL SQLSQL生成如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. createfunctiondbo.CreateOrderID() 2. returnsdecimal(12,0) 3. as 4. begin 5. DECLAREOrder_iddecimal(12,0) 6. DECLAREDatevarchar(8) 7. 8. -获取当前订单表中的最新订单号 9. selectOrder_id=max(order_id)fromtblorder 10. 11. -获取当前日期XXXXXXXX如2001010112. selectDate=CONVERT(varchar(8),GETDATE(),112) 13. 14. selectOrder_id=Date+casewhencharindex(Date,Order_id)=1then 15. Cast(right(Cast(Right(Order_id,4)asdecimal)+1+10000,4)asvarchar(12) 16. else0001end 17. 18. returnOrder_id19. endcreate function dbo.CreateOrderID()returns decimal(12,0)asbegin DECLARE Order_id decimal(12,0) DECLARE Date varchar(8) -获取当前订单表中的最新订单号 select Order_id = max(order_id) from tblorder -获取当前日期XXXXXXXX如20010101 select Date = CONVERT(varchar(8), GETDATE(),112) select Order_id = Date + case when charindex(Date, Order_id) = 1 then Cast(right(Cast(Right(Order_id,4) as decimal)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论