0

ID と責任者を持つ Projects テーブルがあります。責任者の列にはJohn,Jim、プロジェクト 1 とJim,Julieプロジェクト 2 の値があります。

しかし、Jim をストアド プロシージャに渡すと、2 つのプロジェクト (1,2) を取得する必要があります。列John,Jimが SQL Server が探しているため、これは行を返しません='Jim'

 select distinct ID,Manager from Projects where Manager=@Manager
4

4 に答える 4

0

次のことを試してみてください。

SELECT DISTINCT 
    ID,
    Manager 
FROM 
    Projects 
WHERE 
    (
     (Manager LIKE @Manager + ',*') OR
     (Manager LIKE '*,' + @Manager) OR
     (Manager  = @Manager) 
    )

リテラル値を検索しながら、名前と姓の両方をカバーする必要があります。ただし、テーブルによってはパフォーマンスが問題になる可能性があります

于 2013-08-08T22:16:11.420 に答える
0

以下のクエリで試してください

select distinct ID,Manager from Projects where replace('#$#' + Manager + '#$#', ',', '#$#') like '%Jim%'
于 2013-08-09T09:26:17.040 に答える