March 12, 2013 at 3:31 am
hi all, please find the following code
DECLARE @intid as varchar(100) ='''BSEC0002''' + ',' + '''BSEC0001''';
PRINT @intid;
DECLARE @qry as varchar(500) ='SELECT * FROM mstinstrument where instrumentid IN (' + @intid +')';
print @qry;
exec (@qry);
SELECT * FROM mstinstrument where instrumentid IN (@intid);
here exec @qry returns the value of two rows
but the select statement which is exactly the same query mentioned in @qry variable is returning empty row, any clues.
March 12, 2013 at 3:42 am
You can't use a list of values in a variable directly in the "IN" clause, which is why you have the dynamic SQL...
MM
select geometry::STGeomFromWKB(0x0106000000020000000103000000010000000B0000001000000000000840000000000000003DD8CCCCCCCCCC0840000000000000003DD8CCCCCCCCCC08408014AE47E17AFC3F040000000000104000CDCCCCCCCCEC3F9C999999999913408014AE47E17AFC3F9C99999999991340000000000000003D0000000000001440000000000000003D000000000000144000000000000000400400000000001040000000000000F03F100000000000084000000000000000401000000000000840000000000000003D0103000000010000000B000000000000000000143D000000000000003D009E99999999B93F000000000000003D009E99999999B93F8014AE47E17AFC3F400000000000F03F00CDCCCCCCCCEC3FA06666666666FE3F8014AE47E17AFC3FA06666666666FE3F000000000000003D1800000000000040000000000000003D18000000000000400000000000000040400000000000F03F000000000000F03F000000000000143D0000000000000040000000000000143D000000000000003D, 0);
March 12, 2013 at 3:49 am
SELECT * FROM mstinstrument where instrumentid IN (@intid); is equivalent to
SELECT * FROM mstinstrument where instrumentid = @intid;
So looking for
SELECT * FROM mstinstrument where instrumentid = '''BSEC0002'',''BSEC0001''';
Should be clear why that returns no data.
Gail Shaw
Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability
March 12, 2013 at 3:54 am
Thanks for clarification.
Viewing 4 posts - 1 through 3 (of 3 total)
You must be logged in to reply to this topic. Login to reply