日期:2014-05-16  浏览次数:20443 次

2011-7-29=oracle学习
今天同事问我一个问题,是关于oracle中的to_char函数的,大家都知道,这个函数可以讲一些date类型的变量转换成string类型的,同事的那个问题是这样的,select to_char(zjny,'yyyymm') from si.si_natl;为什么会报错?当时我看了之后感觉这个错误很不应该了,因为从sql语句的语法来看,这个语句根本没有一点错误啊,这是绝对正确的。
可是为什么会出现那个错误呢?错误的代码好像是invalid format number还是什么的,估计是那个'yyyymm'的问题,当时我是这样想的,可是我在网上一看,这种format格式是可以的,但为什么那条sql语句会报错呢?
无奈的我看了很多东西,在网上搜了良久,就是没有答案,我忽然下意识地看了一下这个表的表结构,才发现zjny这个字段不是date类型的,而是varchar2类型的,这才知道问题出在了这个地方。
看来自己遇到的问题还是不够多啊,或者说自己解决问题的能力还是有欠缺,以后学习的地方还很多啊,加油啊!