用法:
1.varchar类型----->int
比如数据库表中有id(int)和name(varchar(10))列,想要输出id+name的值:
select *, convert(varchar,id)+name from Table_3;
或者select *, convert(varchar(10),id)+name from Table_3;
2.CONVERT(varchar(8),GETDATE(),112)表示20120808字符输出
实例:数据库表中添加一个增长的问题编号,根据不同的执法者生成和时间有关的当天的一个自增长的问题编号。
问题编号:根据时间+userid+id===2012080200101
--设置当天的第一条数据ID值2012080800001
set @temp_pid=CONVERT(varchar(8),getdate(),112)+@in_police+'01';
--获取该执法者的上报问题的总数
select @temp3=COUNT(*) from Problem where police=@in_police;
if(@temp3<1)
set @temp1=0;
else
begin
--获取该执法者的最近一条上报问题的问题编号
select @temp1= max(pid) from Problem where police=@in_police ;
end
--问题编号++
if(@temp_pid>@temp1)
set @pid=@temp_pid;
else
begin
set @pid=SUBSTRING(@temp1,12,2)+1;
if(@pid/10=0)
set @pid=CONVERT(varchar(8),GETDATE(),112)+@in_police+'0'+@pid;
else
set @pid=CONVERT(varchar(8),GETDATE(),112)+@in_police+@pid;
end
begin try
insert into Problem values (@pid,@in_maintype,@in_subtype,@in_carid,@in_litigant,@in_driver,@in_coordinate,
@in_problemdesc,@in_fare,@in_faredesc,@in_police,@in_status,@in_datetime);
set @out_parameter=0;
end try
begin catch
set @out_parameter=2;
end catch
说明:
该存储过程旨在插入一条新的问题数据。