Quantcast
Channel: Forum Getting started with SQL Server
Viewing all articles
Browse latest Browse all 7129

Operand data type varchar is invalid for subtract operator error

$
0
0

on creating of sp, using the char index, i am getting error as

CREATE TABLE [dbo].[TempTable](
	[ID] [int] NOT NULL, 
	[Name] [nvarchar](128) NULL,
	[ProductCategory] [nvarchar](64) NULL  )
	INSERT INTO TempTable VALUES (1,'Car','Road - Personal')
	INSERT INTO TempTable VALUES (1,'Bus','Road - Public')
	INSERT INTO TempTable VALUES (1,'Boat','Sea - Personal')
	INSERT INTO TempTable VALUES (1,'Ship','Sea - Public')
	INSERT INTO TempTable VALUES (1,'Plan','Air - Public')

--	select * from TempTable 
 
--exec [spTemp] 1
CREATE PROCEDURE [dbo].[spTemp]    
 @ID INT    
AS    
BEGIN    
 DECLARE @SQLQuery AS VARCHAR(MAX) 
  
 SELECT @SQLQuery = 'SELECT [ID],[Name], [ProductCategory] from  [TempTable]
   WHERE   ID = ' + CAST(@ID AS VARCHAR(10))   + ' AND  LEFT(ProductCategory   ,  CHARINDEX(' - ',ProductCategory  ) - 1) IN (''Road'',''Sea'')'
PRINT (@SQLQuery)    
--EXEC (@SQLQuery)
 END



/*

Error
Msg 8117, Level 16, State 1, Procedure spTemp, Line 9
Operand data type varchar is invalid for subtract operator.

*/

Error
Msg 8117, Level 16, State 1, Procedure spTemp, Line 9
Operand data type varchar is invalid for subtract operator.

Kindly suggest what to change in my query  to get the sp value expected


ShanmugaRaj


Viewing all articles
Browse latest Browse all 7129

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>