Click here to Skip to main content
15,885,546 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
SQL
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE %'+@T+'%'
EXEC(@QRY)
END



error showing

Incorrect syntax near 'X'.
Posted

You need quotes in your query try:

SQL
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%''';
EXEC(@QRY)
END
 
Share this answer
 
Quotes my friend, quotes.
Change:
SQL
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE %'+@T+'%'
To
SQL
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%'''
 
Share this answer
 
Hi Josh,

Try This.....
SQL
BEGIN
    DECLARE @T VARCHAR(20)
    DECLARE @QRY NVARCHAR(200)
    SET @T='X'
    SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%'+@T+'%'''
    PRINT @QRY 
    EXEC(@QRY)
END

(or)
SQL
BEGIN
    DECLARE @T VARCHAR(20)
    DECLARE @QRY NVARCHAR(200)
    SET @T='X'
    SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE '+CHAR(39)+'%'+@T+'%'+CHAR(39)
    PRINT @QRY 
    EXEC(@QRY)
END


You missed Single Quote in String Comparison.


Regards,
GVPrabu
 
Share this answer
 
v2
Hi Josh

Please use below query...

SQL
BEGIN
DECLARE @T VARCHAR(20)
DECLARE @QRY NVARCHAR(200)
SET @T='X'
SET @QRY='SELECT * FROM [dbo].[LIBMAST] WHERE CALLNO LIKE ''%' + @T + '%'''
EXEC(@QRY)
END


Regards
Willington
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900