主要问题出在yii对这种类型的读取和保存都有异常,会丢失时间.
解决方式
一、设置当前会话的日期格式,在beforeSave里调用
alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'
二、ar保存时,使用
if(isset($this->create_time)) $this->create_time=new CDbExpression('create_time');
误区
因为时间格式默认不同于 Y-m-d H:i:s 所以bindValue时,oci当成了字符串。。。哥绕了一圈去修改框架,血的教训啊。。我擦。。。
当格式统一后,bindValue 就保持有效了。可以不使用方式二那种蹩脚的处理方式