在SQL存储过程中给条件变量加上单引号

发表于:2016-11-16 10:47

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:返回主页 roucheng    来源:51Testing软件测试网采编

  在SQL存储过程中给条件变量加上单引号,不加语句就会出问题,以下就是在存储过程中将条件where设置成了动态变化的,给where赋完值再和前面的语句拼接,再execute(SQL)
set @where= '(DATEDIFF(day,'''+CONVERT(varchar(100), @d_start, 23)+''',sdate)>=0 and DATEDIFF(day,'''+CONVERT(varchar(100), @d_end, 23)+''',sdate)<=0) and '
+'  shopid='''+@shopid+''' and  VenderID in '
+' (select vender from tableB where vendertype=''类型'' and shopid='''+@shopid+''')'
@d_start   @d_end,
@shopid
  这三个都是调用存储过程传进来的参数,要将这些与varchar类型的拼接在一起就要用每边3个单引号+变量, eg: where shopid='''+@shopid+''' 这样写才可以。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号