如何解决如何在yii db表达式中使用用户提供的日期
我正在以MM / DD / YYYY格式发送用户提供的日期。范例10/07/2020。我想将此日期存储在Oracle数据库的TIMESTAMP(0)类型的列中。
我的代码中有这个
$medicalClaimDetail = new MedicalClaimDetail();
$medicalClaimDetail->TREATMENT_DATE = new yii\db\Expression('10/07/2020');
$medicalClaimDetail->save();
但是我得到此异常:
Error Code : 932 Error Message : ORA-00932: inconsistent datatypes: expected TIMESTAMP got NUMBER Position
解决方法
使用字符串对我有用。
-
在数据库组件配置中,我有:
'on afterOpen' => function($event) { $event->sender->createCommand("ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS'")->execute(); $event->sender->createCommand("ALTER SESSION SET NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD HH24:MI:SS'")->execute(); }
-
在代码中,我将日期和时间戳记设置为字符串:
$medicalClaimDetail->TREATMENT_DATE = date('Y-m-d H:i:s',time());
$medicalClaimDetail->save();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。