ファジイクエリlike

752 ワード

mysqlマルチフィールドブラークエリを作成するときに使用される文は
select * from tablename where concat(name,brand) like '%   %' 
  • 1

  • concatの役割は、複数のフィールドを文字列につづることです.その結果、いくつかのエントリがクエリーされていないことがわかりました.
    問題はconcat()のパラメータがnullであれば空に戻ることです.
    解决方法1、nullのエントリをnull 2、concat_ではないようにするws()メソッドの使い方:concat_ws(separator,str 1,str 2,...)separatorを区切り記号としてつづった後のパラメータが文字列になってnullがあっても構わないので、文を
    select * from tablename where concat_ws("",name,brand) like '%   %'
  • 1

  • すべてのエントリを検索できますnullもokもあります~
     
     
     
    oracleではconcatの3つのパラメータの接合はサポートされていません.2重concatに訂正する必要があります.
     
         select * from SYS_MENU where url like concat(concat('%',#{roleName}),'%')