ファジークエリパラメータのOracleのCONCAT番号が無効です

Oracleデータベース、突然右のMySQLのコードで見つけもともと書かれたファジークエリ、OracleでエラーのMyBatisの操作を使用する場合は、パラメータの数が無効です

< もしテスト= "EMPID != NULL   EMPID != '' " > 
     e.empId (CONCAT ' '、#{EMPID}、' ' </ なら>

例外情報。

 

 

ステッチは、3つのパラメータをサポートしているとして、いくつかの材料の見直し後にそのOracle CONCAT関数は、MySQLではありませんした後、SQL文は次のように改正する必要があります

そして e.empId  CONCAT(CONCAT(' '、#{EMPID})、' '

若しくは

そして e.empId のように ' '  || #{EMPID} || ' ' ;

 

オラクルだけより効果的!

PS:

  土台は本当に重要です!

  それは「そう」「あなたの一部になるようにコードは、数回ノックし、よりシンプルであるべき!

おすすめ

転載: www.cnblogs.com/arebirth/p/excoconcat.html