Sql 无法获取参数中的变量值
我没有在select语句参数中获取变量rsp2的值Sql 无法获取参数中的变量值,sql,sql-server-2008,tsql,Sql,Sql Server 2008,Tsql,我没有在select语句参数中获取变量rsp2的值 DECLARE @RSP varchar(50) DECLARE @RSP2 varchar(50) SET @RSP = '(<DL>,<DM>)' SELECT @RSP SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''') SELECT @RSP2 SELECT
DECLARE @RSP varchar(50)
DECLARE @RSP2 varchar(50)
SET @RSP = '(<DL>,<DM>)'
SELECT @RSP
SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''')
SELECT @RSP2
SELECT [F_YEAR] FROM tbl1 WHERE
RSP IN (@RSP2)
我假设您希望获得f_year的值,以分配给@rsp变量
DECLARE @RSP varchar(50)
, @RSP2 varchar(50);
SET @RSP = '(<DL>,<DM>)';
SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''');
SET @RSP = (
SELECT Max(f_year)
FROM tbl1
WHERE RSP = @RSP2;
);
SELECT @RSP As rsp
, @RSP2 As rsp2;
我假设您希望获得f_year的值,以分配给@rsp变量
DECLARE @RSP varchar(50)
, @RSP2 varchar(50);
SET @RSP = '(<DL>,<DM>)';
SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''');
SET @RSP = (
SELECT Max(f_year)
FROM tbl1
WHERE RSP = @RSP2;
);
SELECT @RSP As rsp
, @RSP2 As rsp2;
试试这个
DECLARE @RSP varchar(50)
DECLARE @RSP2 varchar(50)
SET @RSP = '(<DL>,<DM>)'
SELECT @RSP
SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''')
SELECT @RSP2
EXEC('SELECT [F_YEAR] FROM tbl1 WHERE
RSP IN ('+@RSP2+')')
希望这对你有帮助
谢谢,试试这个
DECLARE @RSP varchar(50)
DECLARE @RSP2 varchar(50)
SET @RSP = '(<DL>,<DM>)'
SELECT @RSP
SET @RSP2 = REPLACE(REPLACE(REPLACE(REPLACE(@RSP,'(',''),')',''),'<',''''),'>','''')
SELECT @RSP2
EXEC('SELECT [F_YEAR] FROM tbl1 WHERE
RSP IN ('+@RSP2+')')
希望这对你有帮助
谢谢你想达到什么目标?对不起,从你的问题我不清楚你为什么这么想?我执行了相同的查询,直到Select@RSP2我得到了结果“DL”,“DM”,我想他是说当他执行最后的SQL语句时,没有返回结果。这是SQL中的一个常见错误,但我一直不明白为什么。您没有看到一个恰好包含逗号的字符串在逻辑上与几个由逗号分隔的字符串不同吗?您试图实现什么?对不起,从你的问题我不清楚你为什么这么想?我执行了相同的查询,直到Select@RSP2我得到了结果“DL”,“DM”,我想他是说当他执行最后的SQL语句时,没有返回结果。这是SQL中的一个常见错误,但我一直不明白为什么。您没有看到一个恰好包含逗号的字符串在逻辑上不同于几个由逗号分隔的字符串吗?