0

次のような TSQL ストアド プロシージャがあります。

ALTER PROCEDURE [dbo].[SearchEntityDataNew]
@SearchText varchar(100) = '*'  
AS
BEGIN    

   IF CHARINDEX('*', @SearchText) = 0
      SET @SearchText = '%' + @SearchText + '%' 
   ELSE
      SET @SearchText = REPLACE(@SearchText, '*', '%')

  SELECT 'Entity' as pagetype,EntityID,EntityData,EntityDataID 
    FROM EntityData 
    WHERE  EntityData LIKE @SearchText
  union all
  SELECT 'Property' as pagetype,PropertyID,PropertyValue,EntityDataID  
    FROM EntityDataProperty 
    WHERE  PropertyValue LIKE @SearchText
END

演算子 ?と等しいものを許可したい。_

?ユーザーが t_ と入力すると「to」が返されるようにするにはどうすればよいですか。ユーザーが _t を入力した場合、'It' が返されますか?

4

1 に答える 1

1

すでに に置き換え*ているので、変数でもに%置き換えるだけです。?_@SearchText

于 2012-11-09T15:47:22.560 に答える