SQL SERVER中 利用方法生成流水号
来源:互联网 发布:java获取今天凌晨时间 编辑:程序博客网 时间:2024/05/29 02:45
/*
功能:利用函数创建流水号如:
fx201005260001,
fx201005260002,
fx201005270001
作者:陈永建
创建时间:2010-05-26
*/
use master
go
if(db_id('NumberDB')is not null)
drop database NumberDB
go
create database NumberDB
GO
USE NumberDB
go
if(object_id('number')is not null)
drop table number
go
create table number
(
id varchar(50) not null,
CreateDate datetime not null
)
go
select * from number
--创建函数生成流水号
if(object_id('fun_CreateNum')is not null)
drop function fun_CreateNum
go
--@profix 前缀
--@dateFormat 日期格式如20050512 :获取当天的日期
--@length 长度:根据你的实际需求来填写你的长度(交易量少则长度短些)
create function fun_CreateNum(@profix varchar(10),@dateFormat varchar(20),@length int)
returns varchar(100)
as
begin
declare @MyNo varchar(100)
select @MyNo= max(id) from number where datediff (dd,CreateDate,getdate())=0 --得到当天最大流水号
--isnull(目标参数,设置的值):如果目标参数为空则变为设定值
set @MyNo=convert(int,isnull(right(@MyNo,@length),0))+1 --如果今天有记录,则在最大的流水号上加1
--replicate(设定值,重复次数): 将设定值重复
set @MyNo=right(replicate(0,@length)+@MyNo,@length)--将@MyNo前加0后截取相应的位数
set @MyNo=@profix+@dateFormat+@MyNo--拼接成流水号
return @MyNo
end
go
--调用函数
--convert(varchar(20),getdate(),112):112将日期格式设置为如:20050512格式
select dbo.fun_CreateNum('fx',convert(varchar(20),getdate(),112),5)
--将流水号插入数据表中
insert into number values(dbo.fun_CreateNum('fx',convert(varchar(20),getdate(),112),5),getdate())
go
select * from number
- SQL SERVER中 利用方法生成流水号
- SQL生成流水号
- SQL生成流水号
- sql 生成流水号
- 在SQL Server中使用种子表生成流水号注意顺序
- 在SQL Server中使用种子表生成流水号注意顺序
- SQL SERVER 根据日期自动生成流水号
- SQL Server 自动 生成流水号 字符串主键
- SQL Server 自动生成字符串主键 流水号
- SQL server 使用存储过程生成流水号
- SQL Server 生成带流水号的字符串
- SQL自动生成流水号
- SQL流水号生成语句
- 生成流水号的方法
- 生成流水号的方法
- ORACLE中生成流水号
- 利用mysql触发器生成流水号
- 利用mysql触发器生成流水号
- WebPart学习小结
- lotus domino 系列所有补丁包的下载地址
- c# Repeater中CommandArgument传多个参数
- Meego 1.0 SDK安装体验
- 通过strstr函数来深入理解逐个给字符数组赋值和用字符串给字符数组赋值的区别
- SQL SERVER中 利用方法生成流水号
- 单元测试三叉戟—JUNIT,DBUNIT,UNITILS
- c#中分割字符串的几种方法
- 可我还是想你
- VC关于检测内存泄漏方法
- 详解WINCE的控制面板
- input标签的汉字长度限制
- 判断WinCE的版本
- Android事件处理