sql语句中的“”和‘’号

这样理解吧:    

1、''是字符界定符,告诉SQL你输入的是字符,SQL已经知道@sitemtext是字符类型,所以不需要。    

2、LIKE   '%XXX%'   可以拆分为   '%'   +   'XXX'   +   '%','XXX'   =   @sitemtext。    

3、EXEC执行字符串:@sitemtext对于EXEC来说变量,但对于EXEC内部的字串指令来说,它是常量,在运行EXEC之前,@sitemtext必然有个确定值(比如@sitemtext='TEST'),如果用1点代替3点,则变成“……NID   =   TEST……”,那字串指令将TEST解析为对象名。    

4、道理同上。 比较笨的方法(也是避免错误的最佳方法):    

A、全部先不加点:            

exec   (declare   mycursor   cursor   for   select   top   @maxitems   SID,NID,NTime   from   (select   top   @mycount   *   from   V_PC_DOWNUPDATE   where   BName   like   '%@sitemtext+%')   as   MyTable   order   by   NTime   desc)    

B、加首尾两点:exec   ('declare   mycursor   cursor   for   select   top   @maxitems   SID,NID,NTime   from   (select   top   @mycount   *   from   V_PC_DOWNUPDATE   where   BName   like   '%@sitemtext+%')   as   MyTable   order   by   NTime   desc')    

C、给字串指令解析为数字的变量加1点:exec   ('declare   mycursor   cursor   for   select   top   '   +   @maxitems   +   '   SID,NID,NTime   from   (select   top   '   +   @mycount   +   '   *   from   V_PC_DOWNUPDATE   where   BName   like   '%@sitemtext+%')   as   MyTable   order   by   NTime   desc')    

C、给字串指令解析为字符的变量加3点:exec   ('declare   mycursor   cursor   for   select   top   '   +   @maxitems   +   '   SID,NID,NTime   from   (select   top   '   +   @mycount   +   '   *   from   V_PC_DOWNUPDATE   where   BName   like   ''%'   +   @sitemtext   +   '%'')   as   MyTable   order   by   NTime   desc')    

D、检查在()里面,除了变量和“+”号,全部变成红色。多写你就会很熟练,直接写出来都可以了,不用那么麻烦。  

转载于:https://www.cnblogs.com/hinroe/archive/2010/11/23/1885221.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值