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

select top的简单问题,求助~~急阿~
SQL   语句:
declare       @i       int
    set       @i=2    
    exec       ( 'select       top       '+@i+       '       *   from       ticket   where
seatgrade= 'top '   ')
在MS-sql中会提示top附近出错。假如是seatgrade= '1 '这样就没问题,为什么数字就没问题,字符串就会出错呢?


------解决方案--------------------
declare @i int
set @i=2
exec ( 'select top '+@i+ ' * from ticket where
seatgrade== ' 'top ' ' ')
就可以了,SQL中 '是转义符。
' 'top ' ' '中有5个 ' ,第1个和第3个是转义符。
其他3个就不用解释了吧?