Removed "?" from end of values in column

I have about 20-30 records with a mysterious "?" at the end of the item number, I can't remove in the ERP system, only through the SQL without deleting the item and recreating it. I've tried this code to remove but with no luck,

UPDATE [CI_Item]
      ,REPLACE ([ItemCode],'?','') replaced_item_code	
      ,[ItemType]
      ,[ItemCodeDesc]
      ,[PrimaryVendorNo]
  FROM [dbo].[CI_Item]
  WHERE PrimaryVendorNo='0000349';

The code you provided is not valid SQL syntax. You need to specify what you want to update and what values you want to update them with.

Try something like this:

UPDATE [CI_Item] 
SET ItemCode = REPLACE(ItemCode, '?', '') 
WHERE PrimaryVendorNo = '0000349';

Is there another place to find better examples. Not sure if I dont fully understand the SQL language yet or if my scenarios are just not close enough to the examples i've researched to repeat. I'm struggling to find a WHERE clause example to find the first 3 characters in a string.

SELECT SUBSTRING( Col1, 1, 3 ) FROM #Temp