错误原因: 字符串转时间格式不对报错的(字符串格式 是否带有时分秒)
比如to_date(‘2019-02-27 16:36:00’,’yyyy-mm-dd’)这个就无法转换,就会抛异常:ORA-01830: 日期格式图片在转换整个输入字符串之前结束
to_date函数
to_date函数用于字符串转日期:
--oracle 为了区分分钟和月份,月份以mi表示
to_date('2019-02-27 16:36:00','yyyy-mm-dd hh24:mi:ss')
to_date('2019-02-27','yyyy-mm-dd')
当前数据库的数据格式 2019-02-27 16:36:00
直接转化时 用substr() 作截取时还是报错 。。。。。ORA-01861:文字鱼格式字符串不匹配
select * from(select * from H22222222222222_201901 t where
to_date(substr(t.datatime,1,10),'yyyy-mm-dd')=TO_CHAR(SYSDATE,'yyyy-mm-dd') order by t.datatime desc)

在添加一层函数
TRUNC():类似截取函数,按指定的格式截取输入的数据。
trunc(sysdate) //返回系统当前时间
trunc(sysdate,'yyyy');//返回当前年的第一天
trunc(sysdate, 'mm');//返回当前月的第一天
trunc(sysdate, 'dd');//返回当前时间的年月日
trunc(sysdate, 'd');//返回当前星期的第一天
trunc(sysdate, 'hh');//返回当前小时
select * from(select * from H22222222222222_201902 t where
trunc(to_date(substr(t.datatime,1,10),'yyyy-MM-dd ')) = trunc(sysdate) order by t.datatime desc)
本文详细解析了在Oracle数据库中进行字符串到日期格式转换时常见的错误及解决方法,特别是针对带有时分秒的字符串格式。介绍了to_date函数的正确使用方式,并通过实例展示了如何避免ORA-01830和ORA-01861等异常,同时介绍了TRUNC函数的多种用途。
7856

被折叠的 条评论
为什么被折叠?



