存储过程中的单引号,和双引号很费解, ################# 100%结贴

t101lian 2013-11-15 04:24:38
下面是一个存储过程中的一段,对引号很费解,
set @State0='''<a href="BuyerLadPrint.aspx'
set @State01='''">打印提单</a>'''

set @State1='''<a href="BuyerLading.aspx'
set @State11='''">生成提单</a>'''

set @State2='''<a href="BuyGetValidate.aspx'
set @State21='''">验货通过</a><br/><a href="BuyerGoodsBad.aspx'
set @State22='''">货物异议</a>'''


set @SQL='select *,case when StateNum=''2'' then '+@State1+'?ID=''+Convert(varchar(8),ID)+'+@State11;
set @SQL=@SQL+' when StateNum=''1'' then '+@State2+'?ID=''+Convert(varchar(8),ID)+'+@State21+'?ID=''+Convert(varchar(8),ID)+'+@State22;[/



求大牛们帮我详细讲下这个引号,,看得我头晕啦, 最费解的是@State1+'?ID=''+Convert(varchar(8),ID) ,这个ID=后面为什么还要加两个单引号?
...全文
272 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
acefr 2013-11-15
  • 打赏
  • 举报
回复
引用 6 楼 t101lian 的回复:
[quote=引用 4 楼 DBA_Huangzj 的回复:] 我比较在意的不是双引号,是那个问号
问号就是连接传值,,,我还是不明白那两个引号, 版主大人。。。能不能讲下[/quote] 如果多个引号的话,前一个引号的表示转义, 这玩意是成对出现, 你可以试试 '1' ,''+1+'','''1'''
t101lian 2013-11-15
  • 打赏
  • 举报
回复
引用 7 楼 DBA_Huangzj 的回复:
为了存放的时候依然能保留"",你print出来就可以了
print 出来的
select *,case when StateNum='2' then '<a href="BuyerLading.aspx?ID='+Convert(varchar(8),ID)+'">生成提单</a>' when StateNum='1' then 
算是明白啦, 谢谢版主!
發糞塗牆 2013-11-15
  • 打赏
  • 举报
回复
为了存放的时候依然能保留"",你print出来就可以了
t101lian 2013-11-15
  • 打赏
  • 举报
回复
引用 4 楼 DBA_Huangzj 的回复:
我比较在意的不是双引号,是那个问号
问号就是连接传值,,,我还是不明白那两个引号, 版主大人。。。能不能讲下
t101lian 2013-11-15
  • 打赏
  • 举报
回复
最后这个字段的值就如: <a href="BuyerLadPrint.aspx?ID=123">打印提单</a> 我只是不明白这引号。。。
發糞塗牆 2013-11-15
  • 打赏
  • 举报
回复
我比较在意的不是双引号,是那个问号
t101lian 2013-11-15
  • 打赏
  • 举报
回复
引用 1 楼 DBA_Huangzj 的回复:
你这个是Profiler抓出来的代码?
就是存储过程中的一小段
  • 打赏
  • 举报
回复
自己琢磨琢磨就知道了 你可以去了看看效果。
發糞塗牆 2013-11-15
  • 打赏
  • 举报
回复
你这个是Profiler抓出来的代码?

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧