关于exec变量嵌套单引号的问题

michaelmodna 2010-01-18 03:27:41


declare @sql varchar(2000)

declare @condition varchar(200)

Set @condition = 'where smm_num >= "'+ 'S2010010' + '"'

select @condition

select @sql = 'select top 100 * from sms_200912 ' + @condition

exec(@sql)



运行后出现如下错误 :

Msg 207, Level 16, State 1, Line 1
Invalid column name 'S2010010'.

我在查询定义的条件变量里面用的是双引号,因为单引号我赋不进去值,请大家帮忙指点一上,谢谢!!
...全文
132 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
h821291419 2010-01-18
  • 打赏
  • 举报
回复

declare @sql varchar(2000)

declare @condition varchar(200)

Set @condition = 'where smm_num >= "'+ '''S2010010' + '''"'

select @condition

select @sql = 'select top 100 * from sms_200912 ' + @condition

exec(@sql)


yananguo_1985 2010-01-18
  • 打赏
  • 举报
回复

declare @sql varchar(2000)

declare @condition varchar(200)

Set @condition = 'where smm_num >='+ '''S2010010'''

select @condition

select @sql = 'select top 100 * from sms_200912 ' + @condition

exec(@sql)

andysun88 2010-01-18
  • 打赏
  • 举报
回复

declare @sql varchar(2000)
set @sql=''
declare @condition varchar(200)

Set @condition = 'where smm_num >= ''S2010010'''

select @sql = 'select top 100 * from sms_200912 ' + @condition

--print @sql
exec(@sql)
百年树人 2010-01-18
  • 打赏
  • 举报
回复

declare @sql varchar(2000)

declare @condition varchar(200)

Set @condition = 'where smm_num >= '+ '''S2010010'''

select @condition

select @sql = 'select top 100 * from sms_200912 ' + @condition


exec(@sql)
快乐_石头 2010-01-18
  • 打赏
  • 举报
回复
declare @sql varchar(2000)

declare @condition varchar(200)

Set @condition = 'where smm_num >= ''S2010010'''

select @condition

select @sql = 'select top 100 * from sms_200912 ' + @condition

exec( @sql)

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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