oracle数据库timestamp类型显示问题(2099年和1999年)

问题场景:

  线上环境数据库中某些基础数据导入进测试库中,测试功能失效,经过排查发现,测试库导入的数据均以过期,数据无效。

数据库为Oracle11g

客户端工具PLSQL

 

数据过去字段类型为TIMESTAMP类型,线上数据插入时间为“2099-01-01 00:00:00”

插入后数据库中数据显示为01-JAN-9912.00.00.000000 AM

to_char此字段显示也为2099年

至此处为任何问题

 

将数据刷入测试库中,数据库中显示“01-JAN-9912.00.00.000000 AM”

to_char数据变为1999年01月01日

在此处发生问题

 

通过网上搜索未发现怎么解决,加了个oracle的qq交流群被一大哥点醒。应该是timestamp类型显示相关问题

最后解决

为本地客户端配置环境变量:

变量名:MLS_TIMESTAMP_FORMAT     

变量值:YYYY-MM-DD HH24:MI:SS

 

PLSQL显示timestamp时对其格式读取从注册表读取,默认格式是啥俺也不清楚,估计就是“01-JAN-9912.00.00.000000 AM”这么个类型滴

配上环境变量后再显示时间戳时时根据自己配置格式显

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值