最简单sql语句的问题 'select top '+cast(@ttt as varchar(20))+' 1')top 後面 緊跟是整形的, 字符行就出錯select top 20 1 是對 這是你下面折select top '20' 1 就不對了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 declare @ttt intset @ttt=20exec ('select top cast('+@ttt+' as varchar(20))'+' 1') 如果你改成這樣寫就對了,指第一條declare @ttt intdeclare @s varchar(1000)set @ttt=20set @s='select top '+cast(@ttt as varchar(20))+' 1'exec (@s) 但是:declare @ttt intset @ttt=20print('select top '+cast(@ttt as varchar(20))+' 1')得到的结果是select top 20 1,没有错啊为什么就是exec的时候出错呢 谢谢,Softlee81307(孔腎) 但是先对@s给值,再exec (@s)的方式,和直接exec的方式怎么会两样呢 求sql删除指定字符之间的字符的命令 关于SQL SERVER使用OPENQUERY查询ORACLE数据库的问题 求SQL语句,马上给分!!!!! 替换问题 一个SQL 语句问题 启动sql代理(sqlexpress)这个服务时报错 Select into 问题!! 公告:请勿重复发贴 求个sql select语句 SQL2005数据库服务器如何从其他电脑中的ACCESS取数据 再发一个100分问题:如何找到这个层次结构的祖先?
set @ttt=20
exec ('select top cast('+@ttt+' as varchar(20))'+' 1')
declare @ttt int
declare @s varchar(1000)
set @ttt=20
set @s='select top '+cast(@ttt as varchar(20))+' 1'
exec (@s)
declare @ttt int
set @ttt=20
print('select top '+cast(@ttt as varchar(20))+' 1')
得到的结果是select top 20 1,没有错啊
为什么就是exec的时候出错呢
但是先对@s给值,再exec (@s)的方式,
和直接exec的方式怎么会两样呢