汉字字母简拼模糊查询的实现方法

#set($NameA0101 = $request.getParameter("NameA0101"))
#set($NameBH0101 = $request.getParameter("NameBH0101"))
 
SELECT A.A00 AS A00,
       C.DMCPT AS 编制关系所在部门,
       A.A0199 AS 员工编号,
       A.A0101 AS 姓名,
       B.DMCPT AS 性别,
       A.A0184 AS 身份证号,
       TO_CHAR(A.A0107, 'YYYY-MM-DD') || ' ( ' ||
       ((TO_CHAR(SYSDATE, 'YYYY')) - (TO_CHAR(A.A0107, 'YYYY')) + 1) || ' )' AS 出生日期,
       F.DMCPT AS 个人身份,
       D.DMCPT AS 民族,
       G.DMCPT AS 政治面貌,
       I.DMCPT AS 现有学历

  FROM A01 A
  LEFT JOIN GB22611 B
    ON A.A0104 = B.DMCOD
  LEFT JOIN G099 C
    ON A.ZDYXA0139 = C.DMCOD
  LEFT JOIN GB3304 D
    ON A.A0117 = D.DMCOD
  LEFT JOIN BJ015 E
    ON A.ZDYXA0109 = E.DMCOD
  LEFT JOIN GB22614 F
    ON A.A0151A = F.DMCOD
  LEFT JOIN GB4762 G
    ON A.A0141 = G.DMCOD
  LEFT JOIN A08 H
    ON A.A00 = H.A00
  LEFT JOIN ZB64 I
    ON H.A0801 = I.DMCOD 
    WHERE 1=1 
    
 #if($NameA0101&&$NameA0101 != "")
 and
     (A.A0101 LIKE '%$NameA0101%'  OR A.A0102 LIKE UPPER('%$NameA0101%') )     
 #end
 
 #if($NameBH0101&&$NameBH0101 != "")
 and
     (A.A0199 LIKE '%$NameBH0101%' ) 
 #end
 order by 
     TO_CHAR(A.A0107, 'YYYY') asc

 

posted @ 2017-04-28 15:57  mandy3651423  阅读(663)  评论(0)    收藏  举报