2016-06-18 1 views
-1
テーブルクライアントは、私は、検索条件を指定していないフィールド enter image description here を持って
CREATE DEFINER=`root`@`localhost` PROCEDURE `GetClients`(
clientPIB NVARCHAR(50), 
    pageSize INT, 
    pageIndex INT) 
    BEGIN 
    DECLARE startIndex INT; 
    SET startIndex = pageSize * pageIndex; 
    SELECT Id, FirstName, LastName, MiddleName 
    FROM Client 
     WHERE 
     FirstName Like(CASE WHEN clientPIB IS NULL THEN FirstName ELSE '%' + clientPIB + '%' END) OR 
     LastName Like(CASE WHEN clientPIB IS NULL THEN LastName ELSE '%' + clientPIB + '%' END) OR 
     MiddleName Like(CASE WHEN clientPIB IS NULL THEN MiddleName ELSE '%' + clientPIB + '%' END) 
     LIMIT startIndex, pageSize; 
    END 

、名前または名前 - すべてが enter image description here入力ラインで検索を行っていない

しかし、どこから始めれば結構です名前で検索・オア・ナッシングの名前が enter image description here

+0

回答に必要な情報がありません。あなたのテーブルのスキーマは何ですか?テーブルにはどのようなデータがありますか?どのパラメータを試してみますか? –

+0

すみません。私は私の質問を修正した。 –

+1

'% '+ clientPIB +'% 'の代わりにconcat('% '、clientPIB、'% ')'を試してください。それでも問題が解決しない場合は、あなたの選択に 'case'の結果を公開してみてください。 –

答えて

0

代わりの'%' + clientPIB + '%'

返されます

使用concat('%', clientPIB, '%')

実際、+記号は算術演算用に予約されています。

関連する問題