varchar2与char的格局问题sohu - 牛牛娱乐

varchar2与char的格局问题sohu

2019-02-11 07:38:21 | 作者: 凌旋 | 标签: 长度,代码,数据库 | 浏览: 3947

昨天和搭档在查看代码是发现:
ptmt = conn.prepareStatement(" select modelid,version from RATING_ALERT_RECORD where Status = 10 and AlertTime =? group by modelid,version ");
ptmt.setString(1,sDate)

sDate的值为2010-04-23
数据库里边这张表显着是有这条数据的,直接写出sql句子:
select modelid,version from RATING_ALERT_RECORD where Status = 10 and AlertTime =2010-04-23 group by modelid,version "
能查出值来的啊,
回到数据库中,细心一看,本来AlertTime 字段寄存的是char(19)这就差不多了
char类型你界说了多少位,它就会占用多少位,这儿我界说了19位,尽管只存了10位,它会在后面主动补空格的,假如改为ptmt.setString(1,sDate+"  ")期中""为9个空格,呵呵,能查了,
varchar2就不相同了,你界说了多少的长度不管用,只要不超越这个长度,它是依照实践的长度来寄存数据的。
这时还有个问题就是在pl/sql Develper中都能查的sql,为什么在java代码中就不行了呢?
版权声明
本文来源于网络,版权归原作者所有,其内容与观点不代表牛牛娱乐立场。转载文章仅为传播更有价值的信息,如采编人员采编有误或者版权原因,请与我们联系,我们核实后立即修改或删除。

猜您喜欢的文章