我们在查询时间数据时,根据我们看到的数据查询会出现文字与格式字符串不匹配的问题。
例如下图数据
执行此条查询语句:
SELECT REPORTDATE FROM WORKORDER WHERE REPORTDATE='1998-12-31 03:17:00'
对于此问题,Oracle数据库存储的时间格式,需要通过to_date函数进行转化
SELECT REPORTDATE FROM WORKORDER WHERE REPORTDATE=TO_DATE('1998-12-31 03:17:00', 'yyyy-MM-dd hh:mm:ss')
出现以下问题:
需要将mm写成mi
SELECT REPORTDATE FROM WORKORDER WHERE REPORTDATE=TO_DATE('1998-12-31 03:17:00', 'yyyy-MM-dd hh:mi:ss')
对于小时数超过12小时的数据,会出现以下问题:
SELECT REPORTDATE FROM WORKORDER WHERE REPORTDATE=TO_DATE('1998-09-23 22:03:00', 'yyyy-MM-dd hh:mi:ss')
默认的小时数为12小时,此时我们需要对语句进行修改:
SELECT REPORTDATE FROM WORKORDER WHERE REPORTDATE=TO_DATE('1998-09-23 22:03:00', 'yyyy-MM-dd hh24:mi:ss')
此时才能查询到正确的数据