当前位置: 代码迷 >> Oracle开发 >> 一个转换日期格式的有关问题
  详细解决方案

一个转换日期格式的有关问题

热度:119   发布时间:2016-04-24 06:33:00.0
一个转换日期格式的问题
 SELECT  TO_CHAR(PUNCHDTM,'HH24:MI')FROM VP_PUNCHITEM WHERE PERSONNUM='001'
  AND TO_CHAR(PUNCHDTM,'YYYY/MM/DD')='2014/11/13'

这个时候 可以得出一个 09:00的字符串,然后我想把这个字符串再转换为日期格式
 SELECT TO_DATE((TO_CHAR(PUNCHDTM,'HH24:MI')),'HH24:MI')  FROM VP_PUNCHITEM WHERE PERSONNUM='001'
  AND TO_CHAR(PUNCHDTM,'YYYY/MM/DD')='2014/11/13'
 明明转换为小时和分钟 却得出了 2014/12/01 09:00   而且这个年月还是错误的 这是怎么回事呢
------解决思路----------------------
只要是date类型就不可能只有小时分秒,年月日是一定要有值的
to_date如果未指定年月日,系统会默认日期为当前所在月的第一天
------解决思路----------------------
引用:
只要是date类型就不可能只有小时分秒,年月日是一定要有值的
to_date如果未指定年月日,系统会默认日期为当前所在月的第一天

年月日未指定的话会取当前年月第一天,后面才跟你的小时分秒。
to_date('xxxx','yyyy')应该是取当前月第一天,to_date('xxxxyy','yyyyMM')取yy月的第一天
  相关解决方案