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”这么个类型滴
配上环境变量后再显示时间戳时时根据自己配置格式显示,此时PLSQL中显示为符合本地环境变量时间戳格式的显示:2099-01-01 00:00:00
此时再将数据导出、导入将不会出现问题。
个人认为:
01-JAN-9912.00.00.000000 AM 此格式显示将年份仅显示后两位,故2099-01-01 00:00:00和1999-01-01 00:00:00两个日期格式化后显示相同,实际真实数值不同,仅显示相同
但是当导入时,对于时间戳01-JAN-9912.00.00.000000 AM 系统认为是一个具体指,而非显示的值, 系统默认值01-JAN-9912.00.00.000000 AM的具体值应为1999-01-01 00:00:00
纯属个人理解,未曾深入研究,如有不对之处,还请指出,谢谢
oracle数据库timestamp类型显示问题(2099年和1999年)相关推荐
- Oracle数据库Date类型查询问题(
浅谈Oracle数据库Date类型查询问题 用过Oracle数据库的朋友应该知道,Oracle数据库在以Date类型为查询条件时存在一个小小的BUG,如: select * from tableNam ...
- oracle数据库的语言,oracle数据库语言类型
oracle数据库语言类型一般分为五大类型 1 DDL(data definition language)数据定义语言 CREATE TABLE :创建表 ALTER TABLE :修改表 DROP ...
- Oracle中Timestamp类型字段查询结果格式化处理
在使用Oracle数据库时,把Timestamp类型的字段查出来显示到界面上居然是一串数字,不符合我们常见的要求,我就查了一下,发现中间还有很多道道,Oracle查出来的Timestamp类型和jav ...
- oracle赋值当前时间,Oracle数据库时间类型
这次遇到的问题小Alan其实一年半前做证券行业项目就已经遇到过,但是一直没有去思考是什么原因导致的这样的悬疑案,悬疑案是什么呢?其实很简单,我想有不少童鞋都有用到Oracle数据库,情形是这样子的,这 ...
- oracle 建表时间戳类型,Oracle插入timestamp类型数据详解
表结构: create table TEST( ID INTEGER, BIRTHDAY TIMESTAMP ); 使用JDBC将日期插入到TIMESTAMP类型字段 import java.sql. ...
- IDEA添加oracle数据库时不显示数据表
idea添加oracle数据库后,找不到需要的表, 但是直接查询是可以查询到数据的 原因: 数据库默认schema不显示完整, 只显示了public和登录账号对应表,其他账号的表未显示 解决方法: 在 ...
- Oracle数据库Timestamp数据差值计算Sql语句
今天的工作中遇到一个问题,需要计算数据库中两个时间字段的差值,字段类型是timestamp,将字段直接相减,会得到timestamp类型的结果值,不是我想要的number类型的值.在网上找了一些方法, ...
- 数据库timestamp类型与date,datetime区别及到达时间极限2038年后如何处理
先简要说明这三种字段类型的区别,date为年月日格式,datetime和timestamp是年月日时分秒格式,datetime不分时区即字段内容随时区改变不发生改变,timestamp分时区,字段内容 ...
- 项目实训记录(四)——前端date类型和数据库timestamp类型比较
目录 一.最近做了什么? 二.遇到的问题和解决办法 1.axios获取到数据库里的失效时间类型 2.前端获取到的Date()类型当前时间类型 3.前后端时间类型统一转换成yyyy-MM-dd HH:m ...
最新文章
- golang mysql 事务_golang的嵌套事务管理-Go语言中文社区
- c#Clay开源的动态语言dynamic框架,让您形如javascript的方式创建对象!
- cargo maven_与Maven 3,Failsafe和Cargo插件的集成测试
- excel mysql乱码_excel打开是乱码的解法方法
- android 修复工具下载,安卓数据恢复软件(FonePaw for Android)
- 电脑如何与移动硬盘实现自动同步备份?
- 【信号处理】音频信号处理平台含Matlab源码
- mysql英文版怎么调中文_navicat for mysql怎么设置中文
- flutter 文字渐变和文字添加边框
- Linux驱动开发|PWM驱动
- 算式最大值 (思维题)
- 项目销毁主页Attempt to invoke virtual method 'java.lang.Object android.content.Context.getSystemService异常
- 雷达指标,应用,抗干扰技术——概述汇总
- 操作系统期末复习-第一章:操作系统概论
- 计算机文化教育对学生思维品质的影响,信息技术教育让素质教育绽放“光芒”...
- Mysql 存储过程详解(procedure)
- 基于Python的地理数据分析之一元线性回归分析-数学原理02.md
- 阿里云服务器不能发送邮件
- ezdml 支付mysql 吗_EZDML数据库表结构设计器_设计sql、oracle、mysql数据库表结构 V2.39 免费版...
- 硬中断与软中断的区别