ora-01722的报错
今天遇到了一个问题,需要进行数据统计功能,而我在执行oracle语句时,出现了ora-01722 无效数字 这个报错,查了一下发现,我在计算时间差时,出现了问题,由于日期时间存在了varchar2数据类型的字段里,并不是date数据类型的字段而导致的错误。
解决办法
后来我使用截取函数 substr函数 这个函数一共有三个参数 格式是这样的
substr(datetime,截取位从第几位开始,一共需要截取几位从截取位往后数)
比如说datetime是一张dept表的字段 内容为一个时间 2024-01-24 20:00:00)
语句可以这样写
select to_char(substr(datetime,9,2)) from dept
得到的结果为:
24
通过这种方式也可以进行数字加减 计算出自己想要的数据。