我在Oracle中有一列是varchar2数据类型。本列中存储的典型值类似于06/16/2015 02:14:18 AM。我试图得到所有的记录,其中本专栏有记录后,2015年8月1日。
select *
from MYTABLE
where to_date(substr(MYCOLUMN,1,10),'dd-mm-yyyy') > to_date('01-08-2015','dd-mm-yyyy');但是,我得到了ORA-01843。我哪里做错了?
发布于 2015-08-28 08:10:50
尊重VARCHAR格式
....where to_date(substr(MYCOLUMN,1,10),'mm/dd/yyyy')发布于 2015-08-28 08:15:14
如果在您的表中所有的值都像06/16/2015 02:14:18 AM,那么您可以对to_date(substr(MYCOLUMN,1,10),'dd-mm-yyyy')使用trunc(to_date(MYCOLUMN,'mm/dd/yyyy HH:mi:SS PM'),'dd')。
https://stackoverflow.com/questions/32266238
复制相似问题