zoukankan      html  css  js  c++  java
  • java对ORACLE中的于NCHAR数据的处理,查询

    nchar 数据如果指定了长度,如果数据不满指定的位数,将会在后面补空格。
    所以当你使用 jdbc 或者其他框架以该字段作为查询条件时,形成的 sql 也会自动补空格
    如:

    SELECT FROM marketing_menu WHERE CDMC = “TEST ”
    

      



    由于存在空格,查询的时候会出错。
    正确书写方式去除空格:

    SELECT FROM marketing_menu WHERE trim(' ' from CDMC) = ‘Test’
    

      

    由于历史原因,当初设计这个表结构的人走了,代码有php转java,发现nchar无论如何查询不到,于是采用上面方法
    亲测有效:

     <select id="selectByOidOrHoid" parameterType="java.lang.String"  resultMap="BaseResultMap">
            select
            <include refid="Base_Column_List" />
            from WX_PAY_LOG
            where
            ESTATE = 1
            <if test="oid != null" >
                and trim(' ' from OID) = #{oid}
            </if>
            <if test="hoid != null" >
                and HOID= #{hoid}
            </if>
            order by MTIME
        </select>
    

      

    【转】https://blog.csdn.net/jacxuan/article/details/78780921

  • 相关阅读:
    MySql学习2
    Java学习:JDBC
    MySql学习
    Java学习:网络编程
    Java学习:反射
    Java学习:多线程(2)
    Java学习:多线程
    .net后台webclient用post方式发送文件和数据
    实用
    day&day
  • 原文地址:https://www.cnblogs.com/achengmu/p/12706613.html
Copyright © 2011-2022 走看看