我有一段程序,主要是得到的时间值为什么不一样呢,具体的程序代码见下:
declare @log_userid varchar(4)
declare @log_username varchar(20)
declare @log_hostip varchar(128)
declare @log_hostname varchar(256)declare @log_time datetime
select @log_time=getdate() from ss_get_datetimeselect @log_timeset @log_userid='0003'
set @log_username='test'
set @log_hostip='192.168.1.109'
set @log_hostname='testhost'declare @tablename varchar(128)   
set @tablename='##loguser'+@log_userid   
exec('create Table '+@tablename+'(loguserid varchar(4),logusername varchar(20),loghostip varchar(128),loghostname varchar(256),logtime datetime)')
exec('insert into '+@tablename+'(loguserid,logusername,loghostip,loghostname,logtime) values('+''''+@log_userid+''''+','+''''+@log_username+''''+','+''''+@log_hostip+''''+','+''''+@log_hostname+''''+','+''''+@log_time+''''+')')
exec('select * from '+@tablename)
注意看两个日期时间型数据,为什么后面一个没有秒数,而前一个有具体的秒数呢?请高手帮忙解决,谢谢

解决方案 »

  1.   

    试试
    exec('insert into '+@tablename+'(loguserid,logusername,loghostip,loghostname,logtime) values('+''''+@log_userid+''''+','+''''+@log_username+''''+','+''''+@log_hostip+''''+','+''''+@log_hostname+''''+','+''''+convert(varchar(23),@log_time,120)+''''+')')
      

  2.   

    exec('insert into '+@tablename+'(loguserid,logusername,loghostip,loghostname,logtime) 
    values('+''''+@log_userid+''''+','+''''+@log_username+''''+','+''''+@log_hostip+''''+','+''''+@log_hostname+''''+','+''''+convert(varchar(19),@log_time,120)+''''+')')19位就够了,毫秒出不来的.