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