Очень редко nchar
оказывается хорошим выбором. В вашем случае каждое значение ДОЛЖНО быть длиной 10 символов, что означает, что все, что не передается, будет дополнено пробелами. Я предполагаю, что то, что вы видите, связано с этим. Если вы измените тип данных на nvarchar
, я не думаю, что вы столкнетесь с той же проблемой. Это также будет иметь то преимущество, что у вас не будет конечных пробелов в данных при их извлечении из базы данных.
Это может не иметь значения, но если вы собираетесь использовать тип данных Unicode для столбец, вам действительно следует использовать тип данных Unicode для всего, что вы объединяете с ним или сравниваете с ним, т.е.
SELECT ID, DateStamp, RegNum, Make, Model, Year
FROM TblWof
WHERE (Make LIKE N'%' + @Param1 + N'%')