access 模糊查询 条件 like

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了access 模糊查询 条件 like相关的知识,希望对你有一定的参考价值。

我的ACCESS表里有很多人名,我想通过姓氏进行模糊查找,就是输入姓氏,比如说“王”然后就能把所以姓王的人都查询出来,就是说这个姓氏是我查询时手工输入的,而不是像 like"王*" 这样固定的,我不知道条件里该怎么个写法,要有提示输入姓氏的框。

全过程是这样的,执行这个查询,先出现一个提示框,要示我输入姓氏,然后我输入要查的姓氏后,按确定,就能把所有这个姓氏的人都找出来。

我试了好多种表达方法都不行,如:like"[请输入要查询的姓氏:]*";[请输入要查询的姓氏:like[]]

请大家帮个忙,谢谢。

参考技术A 你可以把姓名做成两个字段啊,姓氏 名 在条件里面再做一不修改就可以了。 参考技术B

Like ""+[请输入姓氏]+"*"

参考技术C like "*" & [请输入要查询的姓氏:]& "*" 参考技术D left([作者],1)=[请输入姓氏] 第5个回答  2008-07-30 我只知道ASP是怎么写的。

MyBatis做动态模糊查询时,like后面要不要加单引号??

做项目遇到了个奇怪的问题,项目里面要对商品、账户、进行分别的多条件查询,于是我就采用动态多条件分页查询,起初在做账户部分的时候Mybatis是这样写的

<!-- 动态多条件分页查询 -->
  <select id="searchPageUseDyc" parameterType="page" resultMap="accountResultMap">
      select acc_id,acc_login,acc_name,acc_pass
      from account
      <where>
          <if test="paramsEntity.accId!=null">
              and acc_id like #{paramsEntity.accId}
          </if>
          <if test="paramsEntity.accLogin!=null">
              and acc_login like #{paramsEntity.accLogin}
          </if>
          <if test="paramsEntity.accName!=null">
              and acc_name like #{paramsEntity.accName}
          </if>
          <if test="paramsEntity.accPass!=null">
              and acc_pass like #{paramsEntity.accPass}
          </if>
      </where>
      limit #{start},#{rows}
  </select>

like 后面直接跟 #{paramsEntity.accName} 不需要添加单引号

 

然后完成商品查询的时候我一样写了一套

<!-- 动态分页多条件查询(找内容) -->
  <select id="searchPageUseDyc" parameterType="page" resultMap="goodsResultMap">
      select goods_Id,goods_name,goods_unit,goods_type,goods_color,goods_store,goods_limit,goods_commission,goods_producer,goods_remark,goods_sel_price,goods_buy_price
      from goods
      <where>
          <if test="paramsEntity.goodsId!=null">
        and goods_Id like ${paramsEntity.goodsId}
      </if> <if test="paramsEntity.goodsName!=null">
        and goods_name like ${paramsEntity.goodsName}
      </if> <if test="paramsEntity.goodsUnit!=null">
        and goods_unit like ${paramsEntity.goodsUnit}
      </if> <if test="paramsEntity.goodsType!=null">
        and goods_type like ${paramsEntity.goodsType}
      </if> <if test="paramsEntity.goodsColor!=null">
        and goods_color like ${paramsEntity.goodsColor}
      </if> <if test="paramsEntity.goodsStore!=null">
        and goods_store like ${paramsEntity.goodsStore}
      </if> <if test="paramsEntity.goodsLimit!=null">
        and goods_limit like ${paramsEntity.goodsLimit}
      </if> <if test="paramsEntity.goodsCommission!=null">
        and goods_commission like ${paramsEntity.goodsCommission}
      </if> <if test="paramsEntity.goodsProducer!=null">
        and goods_producer like ${paramsEntity.goodsProducer}
      </if> <if test="paramsEntity.goodsRemark!=null">
        and goods_remark like ${paramsEntity.goodsRemark}
      </if> <if test="paramsEntity.goodsSelPrice!=null">
        and goods_sel_price like ${paramsEntity.goodsSelPrice}
      </if> <if test="paramsEntity.goodsBuyPrice!=null">
        and goods_buy_price like ${paramsEntity.goodsBuyPrice}
      </if> </where> limit #{start},#{rows} </select>

但是运行报错了!!!

错误信息You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘%% limit 0,3‘ at line 3

然后我就给单引号添加上了,然后居然就成了,代码这样子

<!-- 动态分页多条件查询(找内容) -->
  <select id="searchPageUseDyc" parameterType="page" resultMap="goodsResultMap">
      select goods_Id,goods_name,goods_unit,goods_type,goods_color,goods_store,goods_limit,goods_commission,goods_producer,goods_remark,goods_sel_price,goods_buy_price
      from goods
      <where>
          <if test="paramsEntity.goodsId!=null">
        and goods_Id like ‘${paramsEntity.goodsId}‘
      </if> <if test="paramsEntity.goodsName!=null">
        and goods_name like ‘${paramsEntity.goodsName}‘
      </if> <if test="paramsEntity.goodsUnit!=null">
        and goods_unit like ‘${paramsEntity.goodsUnit}‘
      </if> <if test="paramsEntity.goodsType!=null">
        and goods_type like ‘${paramsEntity.goodsType}‘
      </if> <if test="paramsEntity.goodsColor!=null">
        and goods_color like ‘${paramsEntity.goodsColor}‘
      </if> <if test="paramsEntity.goodsStore!=null">
        and goods_store like ‘${paramsEntity.goodsStore}‘
      </if> <if test="paramsEntity.goodsLimit!=null">
        and goods_limit like ‘${paramsEntity.goodsLimit}‘
      </if> <if test="paramsEntity.goodsCommission!=null">
        and goods_commission like ‘${paramsEntity.goodsCommission}‘
      </if> <if test="paramsEntity.goodsProducer!=null">
        and goods_producer like ‘${paramsEntity.goodsProducer}‘
      </if> <if test="paramsEntity.goodsRemark!=null">
        and goods_remark like ‘${paramsEntity.goodsRemark}‘
      </if> <if test="paramsEntity.goodsSelPrice!=null">
        and goods_sel_price like ‘${paramsEntity.goodsSelPrice}‘
      </if> <if test="paramsEntity.goodsBuyPrice!=null">
        and goods_buy_price like ‘${paramsEntity.goodsBuyPrice}‘
      </if> </where> limit #{start},#{rows} </select>

然后我就去查文档,光放文档给出的也是不用加单引号的!!

<select id=”findActiveBlogLike”
  parameterType=”Blog” resultType=”Blog”>
  SELECT * FROM BLOG
  <where>
    <if test=”state != null”>
      state = #{state}
    </if>
    <if test=”title != null”>
      AND title like #{title}
    </if>
    <if test=”author != null and author.name != null”>
      AND title like #{author.name}
    </if>
  </where>
</select>

我的问题还真不知道出在哪里!!!奇了怪了,有空再去搞清楚吧 !!!!

以上是关于access 模糊查询 条件 like的主要内容,如果未能解决你的问题,请参考以下文章

ORACLE模糊查询语句 当条件为 like %(% 或者like %)%时 结果为全查吗

Hbase能模糊查询吗,类似like

C# Access 模糊查询SQL语句

关于sql语句模糊查询

sql语句中怎么实现in中的模糊查询

PLSQL连接Oracle使用like模糊查询中文时返回结果为空