dt是timestamp列,由于我的语句是动态生成的.
declar @dt varchar(100)
select @dt=convert(varchar(100),dt) from t
select * from t where (varchar(100),dt)=@dt---这样可以
exec('select * from t where (varchar(100),dt)='+@dt)--关键是这样不可以怎么办呢
declar @dt varchar(100)
select @dt=convert(varchar(100),dt) from t
select * from t where (varchar(100),dt)=@dt---这样可以
exec('select * from t where (varchar(100),dt)='+@dt)--关键是这样不可以怎么办呢
create table ta(dt timestamp)
godeclare @dt varchar(100) ,@sql varchar(8000)
set @dt = 'asdfsadf'exec('select * from ta where cast(dt as varchar(100))='''+@dt+'''')drop table ta
select @dt=convert(bigint,dt) from t
exec('select * from t where dt='+convert(varchar(30),@dt))
declare @sql varchar(800)
select @dt=convert(bigint,dt) from t
set @sql = 'select * from t where dt= ' + convert(varchar(30),@dt)
exec(@sql)
godeclare @dt varchar(100) ,@sql varchar(8000)
set @dt = 'asdfsadf'exec('select * from ta where cast(dt as varchar(100))='''+@dt+'''')drop table ta