Не особенно элегантно, но это выполняет свою работу .
DECLARE @Table TABLE (Row NVARCHAR(32))
INSERT INTO @Table VALUES ('1;6')
INSERT INTO @Table VALUES ('12')
INSERT INTO @Table VALUES ('6;5;67')
SELECT *
FROM @Table
WHERE Row = '1'
OR Row LIKE '%;1'
OR Row LIKE '1;%'
OR Row LIKE '%;1;%'
редактировать
прокомментируйте ваш комментарий: это работает в SQL Server 2005.
CREATE TABLE Analysis (Text1 NVARCHAR(32))
GO
CREATE PROCEDURE [dbo].[Test] @Key as nvarchar AS
SELECT *
FROM dbo.Analysis
WHERE Text1 = @Key
OR Text1 LIKE '%;'+ @Key
OR Text1 LIKE @Key + ';%'
OR Text1 LIKE '%;' + @Key + ';%'
GO
EXEC Test '1'
DROP PROCEDURE Test
DROP TABLE Analysis