create table t_sql(id int identity(1,1),code char(13),[name] nvarchar(10)) go create function f_createcode(@bid int,@d datetime) returns char(13) as begin declare @code char(13) declare @c int select @c=count(*) from t_sql set @code=replace(convert(char(10),@d,120),'-','')+'-'+cast(right(10000+@c+@bid,4) as char(4)) return(@code) end go insert into t_sql(code,[name]) values(dbo.f_createcode(1,getdate()),'ralph') insert into t_sql(code,[name]) values(dbo.f_createcode(1,getdate()),'king') insert into t_sql(code,[name]) values(dbo.f_createcode(1,getdate()),'andy') insert into t_sql(code,[name]) values(dbo.f_createcode(1,getdate()),'test') select * from t_sql go drop function f_createcode drop table t_sql