我是菜鸟,exec中,关于order by出错的提问!
exec( 'select * from '+ @tablename1 + 'order by 日期 desc ')
提示:在关键字 'by ' 附近有语法错误。
------解决方案--------------------表变量@tablename1传不进exec,只能用临时表替代
select * into # from @tablename1
exec( 'select * from # order by 日期 desc ')
drop table #
------解决方案--------------------declare @sql vchar(1000)
set @sql= 'select * from '+ @tablename1 + 'order by 日期 desc '
exec(@sql)
------解决方案--------------------原来是空格的问题:)
exec( 'select * from '+ @tablename1 + ' order by 日期 desc ') order前加空格
--------------------------------------
declare @tablename1 varchar(10)
set @tablename1 = 't '
create table t (conumber int,日期 datetime)
insert into t (conumber,日期)values(10, '2007-11-02 ')
insert into t (conumber,日期)values(2, '2007-1-03 ')
insert into t (conumber,日期)values(3, '2007-02-02 ')
insert into t (conumber,日期)values(4, '2007-07-02 ')
insert into t (conumber,日期)values(5, '2007-03-02 ')
exec( 'select * from '+ @tablename1 + ' order by 日期 desc ')
drop table t