2016-06-18 56 views
-1
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不進行輸入線搜索

但是從哪裏開始在名稱或搜索東西的名稱返回 enter image description here

+0

我們沒有足夠的信息來回答。你的桌子的模式是什麼?表中的數據是什麼?你試過哪些參數? –

+0

對不起。我糾正了我的問題。 –

+1

而不是'%'+ clientPIB +'%''嘗試concat('%',clientPIB,'%')'。如果這不起作用,請嘗試在您的選擇中顯示「case」結果。 –

回答

0

而不是'%' + clientPIB + '%'

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

事實上,+號被保留用於算術運算。