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
相关推荐
lklong 2020-11-22
oraclemch 2020-11-06
shilukun 2020-10-10
周嘉笙 2020-11-09
iilegend 2020-10-19
EricRay 2020-10-16
zhuzhufxz 2020-09-16
dataminer 2020-08-17
bfcady 2020-08-16
Hody 2020-08-16
FightFourEggs 2020-08-16
数据库设计 2020-08-16
Seandba 2020-08-16
Omega 2020-08-16
zjyzz 2020-08-16
yanghuatong 2020-08-16
ktyl000 2020-08-16
dbasunny 2020-08-16