关于oracle数据库中时间格式转换str转timestamp年份正确转换

tianqionghou9845 2017-08-29 11:37:32
字段类型是varchar 如“16-AUG-99 12.00.00.000000000 AM”,现在想将其转为timestamp格式,
用了to_timestamp('16-AUG-99 12.00.00.000000000 AM','dd-Mon-yy hh.mi.ss.ff9 AM','nls_date_language=american')可以做转换,但是发现转换后的时间变为2099年,但其实是1999年,求问怎么正确转换?
...全文
972 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
风中的千纸鹤 2017-08-29
  • 打赏
  • 举报
回复
如果直接写“16-AUG-99 12.00.00.000000000 AM”肯定是认为2099年的,数据库还没有那么智能,如果想简单操作的话,那就要先设置你的日期格式,修改nls_date_format(或者nls_timestamp_format)参数,让时间先变过来,再进行下面的操作
acen_chen 2017-08-29
  • 打赏
  • 举报
回复
好像也只能这样了啊,自己定规则补全
tianqionghou9845 2017-08-29
  • 打赏
  • 举报
回复
求提点,能想到的只有判断、补全年份,但是感觉比较繁琐,有更好的方式吗?

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧