生成流水号码
来源:互联网 发布:手机遥控器软件哪个好 编辑:程序博客网 时间:2024/04/29 20:05
在程序设计中,尤其是针对企业应用的开发,不可以避免的会要生成大量的编号,比如订单编号、入库编号等。现在利用SQL的存储过程可以方便的实现自动编号,可以大大的提高程序的复用和减少代码的编写。
主要是利用SQL中的CONVERT函数来对日期进行格式化。
比如要做这样的一个编号结构:
标识(2位) 日期时间(14位) 流水号(4位)
BH 20070227160954 1001
程序代码如下:
运行后结果如:BH200702271609541001
附CONVERT函数使用说明:
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),/'-/',/'/'),/' /',/'/'),/':/',/'/')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
20040912
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
主要是利用SQL中的CONVERT函数来对日期进行格式化。
比如要做这样的一个编号结构:
标识(2位) 日期时间(14位) 流水号(4位)
BH 20070227160954 1001
程序代码如下:
DECLARE @myval nvarchar(20),
@maxval nvarchar(4)
select @maxval=max(right(InEquipNum,4))+1 from InEquip --InEquipNum 为编号字段,取最后4位并加1
set @myval=CONVERT(varchar(12), getdate(),112)+ --取日期组合
(substring(convert(varchar(20),getdate(),120),12,2)) + --取小时
(substring(convert(varchar(20),getdate(),120),15,2)) + --取分钟
(substring(convert(varchar(12),getdate(),108),7,2)) + --取秒
(select case
when @maxval is null then '1000' --如果编号为空,则先给出一个值
else @maxval
end
)
select @myval 编号
@maxval nvarchar(4)
select @maxval=max(right(InEquipNum,4))+1 from InEquip --InEquipNum 为编号字段,取最后4位并加1
set @myval=CONVERT(varchar(12), getdate(),112)+ --取日期组合
(substring(convert(varchar(20),getdate(),120),12,2)) + --取小时
(substring(convert(varchar(20),getdate(),120),15,2)) + --取分钟
(substring(convert(varchar(12),getdate(),108),7,2)) + --取秒
(select case
when @maxval is null then '1000' --如果编号为空,则先给出一个值
else @maxval
end
)
select @myval 编号
运行后结果如:BH200702271609541001
附CONVERT函数使用说明:
使用 CONVERT:
CONVERT (data_type[(length)], expression [, style])
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),/'-/',/'/'),/' /',/'/'),/':/',/'/')
20040912110608
select CONVERT(varchar(12) , getdate(), 111 )
2004/09/12
select CONVERT(varchar(12) , getdate(), 112 )
20040912
select CONVERT(varchar(12) , getdate(), 102 )
2004.09.12
select CONVERT(varchar(12) , getdate(), 101 )
09/12/2004
select CONVERT(varchar(12) , getdate(), 108 )
11:06:08
- 生成流水号码
- 项目中要求根据 一个号码,生成它的流水号
- 产生序列数字(流水号码)
- 手工生成流水号
- SQL生成流水号
- ------------------------生成流水号--------------------------------
- SQL生成流水号
- C#生成流水号
- 生成流水号
- sql 生成流水号
- php生成流水号
- 生成流水号
- 订单生成流水号
- c# 生成流水号
- oracle 生成流水号
- SqlServer 生成流水号
- Oracle 生成流水号
- Java流水生成工具
- fedora17安装内核源码
- js验证密码强度
- 炫彩界面库v1.4.2-360安全卫士v8.5-UI设计器使用教程
- [leetcode刷题系列]Construct Binary Tree from Inorder and Postorder Traversal
- sql导入导出全部DBF,excel等文件
- 生成流水号码
- CAS SSO改造步骤(1)
- matlab进行离散点的曲线拟合
- [每日一题] OCP1z0-047 :2013-08-10 INTERVAL DAY TO SECOND........................................30
- 黑马程序员__JAVA项目分析__交通灯管理系统
- 超详细的SQL语句语法
- HDU 4576
- T-Sql 收集
- 经典Sql语句