首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

自定义字符串变量赋值后,怎么在查询语句中使用

2013-06-19 
自定义字符串变量赋值后,如何在查询语句中使用?自定义字符串变量赋值后,如何在查询语句中使用?比如:DECLAR

自定义字符串变量赋值后,如何在查询语句中使用?
自定义字符串变量赋值后,如何在查询语句中使用?

比如:

DECLARE @isforbid VARCHAR(1000)
SET @isforbid = 'XXXXXX'
SELECT * FROM tableA WHERE cName IN (@isforbid)

这样子的查询结果是空的

SELECT * FROM tableA WHERE cName IN ('XXXXXX')

这样子的查询结果是有结果的。为什么字符串变量不能直接用在查询语句里呢?

假如要用的话,应该如何使用?

[解决办法]

DECLARE @isforbid VARCHAR(1000)
SET @isforbid = 'XXXXXX'
exec('SELECT * FROM tableA WHERE cName IN ('+ @isforbid+')')


[解决办法]

DECLARE @isforbid VARCHAR(1000),@tsql varchar(6000)
SET @isforbid = 'XXXXXX'

select @tsql='SELECT * FROM tableA WHERE cName IN ('+@isforbid+')'

exec(@tsql)

[解决办法]
你的语句有问题,你忘了单引号
DECLARE @isforbid VARCHAR(1000)
SET @isforbid = 'XXXXXX'
DECLARE @SQL=VARCHAR(MAX)
SET @SQL=N'SELECT * FROM tableA WHERE cName IN ('''+@isforbid+''')'
PRINT @SQL
EXEC (@SQL)
这样就行了,
不信你可以试试
[解决办法]

DECLARE @isforbid VARCHAR(1000)
SET @isforbid = 'a'
exec ('SELECT * FROM c WHERE Name in ('''+ @isforbid +''')')

热点排行
Bad Request.