日期:2014-05-18  浏览次数:20451 次

求救,得到的值为什么会不一样呢?
我有一段程序,主要是得到的时间值为什么不一样呢,具体的程序代码见下:
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_datetime

select @log_time

set @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)




注意看两个日期时间型数据,为什么后面一个没有秒数呢?

请高手帮忙解决,谢谢

------解决方案--------------------
第二个没有格式化 第一个格式化了的
------解决方案--------------------
试试
exec('insert into '+@tablename+'(loguserid,logusername,loghostip,loghostname,logtime) values('+''''+@log_userid+''''+','+''''+@log_username+''''+','+''''+@log_hostip+''''+','+''''+@log_hostname+''''+','+''''+convert(varchar(23),@log_time,120)+''''+')')
------解决方案--------------------
SQL code
exec('insert into '+@tablename+'(loguserid,logusername,loghostip,loghostname,logtime) 
values('+''''+@log_userid+''''+','+''''+@log_username+''''+','+''''+@log_hostip+''''+','+''''+@log_hostname+''''+','+''''+convert(varchar(19),@log_time,120)+''''+')')