Oracle的Timestamp数据类型与Mysql的Timestamp数据类型兼容的经验

记-jackson oracle.sql.TIMESTAMP 序列化失败 记-jackson oracle.sql.TIMESTAMP 序列化失败 文章目录记-jackson oracle.sql.TIMESTAMP 序列化失败一、错误信息二、数据预览代码三、解决办法 一、错误信息 jdbc原生查询final PreparedStatement statement = connection.prepareStatement(sql);返回map结果,无法序列化到前端页面。 com.fasterxml.jackson.databind.exc.InvalidDefinition 阅读详情
 

Oracle的Timestamp数据类型与Mysql的Timestamp数据类型兼容的经验

分类: ORACLE   1878人阅读  评论(0)  收藏  举报

在Mysql上开发的应用程序,在向Oracle做程序兼容的时候,遇到了一个小麻烦,其他类型的数据都还好办,总能找到替代办法,做到不改动SQL文就可以兼容,但在对Timestamp类型的兼容时,却遇到了一个让我有点心跳的小问题:Oracle的Timestamp数据类型插入数据的时候好像不太方便。

由于应用程序是用java写的,在执行对Mysql的写入时用到的是从Mysql的内置函数CURRENT_TIMESTAMP()中取值,在Oracle中,却没好到这个函数,这样一来,如果要兼容Oracle,就要修改应用程序了。麻烦大了,已经部署了的应用程序。如何是好?

在Oracle 的文档中翻阅相关部分,终于一丝丝惊喜展现出来,有救!

Oracle有一个属性是针对Timestamp数据类型的,那就是CURRENT_TIMESTAMP。虽然不是一个可直接使用的函数,但我确信这是可以解决问题的关键。因为Mysql中有一个全局参数CURRENT_TIMESTAMP,对应的正式CURRENT_TIMESTAMP()函数。

OK。解决方法找到,分别在Mysql与Oracle中创建触发器执行timestamp的写入,而写入方式是用CURRENT_TIMESTAMP全局函数替代CRRENT_TIMESTAMP()函数。这样就可以用痛一条SQL文"insert into test_table values (CURRENT_TIMESTAMP)"写入时间戳了。

 

投机取巧的一个小点子,把问题解决。

这里是要提醒自己,很多时候,一些看似微小的线索往往是解决重大问题的银弹。只要找到,便可以消灭不死的吸血鬼。

 

附加一点,对Oracle写入Timestamp类型的值,可以使用以下三种方式:

1.ISNERT INTO TEST_TABLE VALUES (TO_CHAR('2009-02-02 12:12:12','yyyy-mm-dd hh24:mi:ss'))

2.ISNERT INTO TEST_TABLE VALUES (CURRENT_TIMESTAMP),
3.ISNERT INTO TEST_TABLE VALUES (SYSTIMESTAMP),

然而,若提前考虑到对多种数据库的兼容,最好用第二种,因为CURRENT_TIMESTAMP在多种数据库中均有内置。


Oracle中插入Timestamp类型数据到MySQL数据库 在上面的代码中,你需要替换"your_oracle_connection_string"和"your_mysql_connection_string"为你的Oracle和MySQL数据库的连接信息。另外,你还需要替换"your_mysql_schema"和"your_mysql_table"为你的MySQL数据库的架构和表的名称。希望本文对你有所帮助!接下来,我们需要编写一个PL/SQL代码块,用于从Oracle数据库中查询Timestamp类型数据,并将其插入到MySQL数据库中。 阅读详情

相关推荐

【嵌入式】树莓派部署NCNN的YOLOv5模型

树莓派部署NCNN框架的YOLOv5模型

Ace_Spade的博客 3783

timestamp 对应mysql_Oracle的Timestamp数据种类与Mysql的Timestamp数据种类接受的经验

在Mysql上开发的利用过程,在向Oracle做过程接受的时候,遭到了一个小繁琐,其他种类的数据都还好办,总能找到轮换措施,做到不修改SQL文就能够接受,但在对Timestamp种类的接受时,却遭到了一个让我有点心跳的小问题:Oracle的Timestamp数据种类插入数据的时候好像不太得体。由于利用过程是用java写的,在厉行对Mysql的写时髦用到的是从Mysql的内置函数CURRENT_TI...

weixin_39766910的博客 1986

UVM环境复位--stop_sequences()

在UVM验证环境中, stop_sequences是一个用于强制终止所有正在运行的 Sequence 的方法,通常用于动态控制激励生成流程。1.通过uvm_config_db传递事件和严格的同步机制,此方案符适用于复杂复位场景和动态测试控制。组件耦合:Driver 和 Sequence 不再直接依赖env,通过标准接口通信。竞争条件:确保 Driver 完成清理后再终止 Sequence。代码健壮性:使用非阻塞操作和事件监听,避免死锁。

qq_42779035的博客 3016

oracle 毫秒时间换mysql_Oracle中将毫秒数转换为timestamp类型的两种方法

在许多场景中,开发人员习惯用1970-01-01 00:00:00.000以来的毫秒数来表示具体的时间,这样可以将数据以NUMBER类型存储到数据库中,在某些时候方便比较,同样,有些时候我们需要把这种毫秒数转换成标准的TIMESTAMP类型,现在总结了两种实现方法:方法一:SELECT TO_TIMESTAMP('1970-01-01 00:00:00.000','yyyy-MM-dd hh24:...

weixin_42239752的博客 577

量子城域网系列(六):从星型到环形,解析QKD网络拓扑的演进与选型

本文深入解析了量子密钥分发网络从星型到环形等主流拓扑结构的演进历程与核心原理。针对量子城域网的实际部署,文章详细对比了星型、总线型和环形拓扑的优缺点,并结合政务云、金融网点等典型应用场景,提供了实战选型指南,帮助读者在物理限制、安全需求与成本效率间找到最佳平衡。

weixin_29197835的博客 111

PyTorch深度学习实战(6)——神经网络性能优化技术

神经网络性能优化技术是指通过改进神经网络的结构、参数初始化、正则化和训练过程等方面来提高其性能和泛化能力的方法。优化技术的选择和调试需要根据具体问题进行,通过不断实验和调整,找到最适合网络的优化策略。本节首先训练了一个简单的全连接网络,然后在此基础上介绍了简单有效的神经网络性能提升技巧。

盼小辉丶的博客 1万+

oracle 无效的月份问题

以前出现了ORA-01843的错误.这个错误代表无效的月份一般在日期转化的时候会提示。 alter session set NLS_DATE_FORMAT='DD-MON-YY'; 翻看了半天发现:在客户端系统里的字符集使用的是中文的环境,(select sysdate from dual;可以通过此语句查看). SYSDATE 04-9月 -07 解决方法:exit退出sqlplus....

thewebcode 9962

【ArcGIS风暴】ArcGIS 10.2导入Excel数据X、Y坐标(经纬度、平面坐标),生成Shapefile点数据图层

用过CASS的人都知道,野外数字测图得到的点数据(平面坐标)可以直接导入到CASS中,进一步绘制地形图。那么,带有坐标的数据能不能在ArcGIS中实现点图层的生成呢?答案是必须的! 本文以气象台站shp数据的生成为例,详细介绍ArcGIS 10.2中导入X、Y坐标(这里指的是经度、纬度),生成Shapefile点数据的流程。 相关阅读:《全站仪、RTK测量坐标数据在CASS和ArcGIS中展点的区别和联系》 目录 1、数据准备 2、添加X、Y数据 3、属性表连接(Join) 4、导出为Sh.

智慧空间实验室 10万+

MySQL与Oracle的数据类型对照表

MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据类型的对应关系。一、常见数据类型在MySQL与Oracle数据库中的表现形式说明mysqloracle变长字符串VARCHAR[0-65535]定义长度默认按字符长度计算,如果是GBK编码的汉字将占用...

huangyinzhao的博客 3万+

目标检测YOLO实战应用案例100讲-基于YOLOv7的番茄采摘机械手场景感知及试验(下)

根据软件系统的设计需求,制定系统的可行性方案分析,编写系统的相关程序和 调试运行环境,对系统进行测试,以实现对番茄数据的采集及监测。登陆界面登陆后,进入选择界面,菜单包括了对番茄种植棚室的固定相机数据的监测、 对番茄采摘机械手的双目相机采集的番茄的静态、动态数据的获取、对番茄静态、动态数 据处理的功能菜单等选项。与利用人工去进行对于番茄果实的识别和数目的统计相比,番茄视觉系统自动记录番 茄数量以及红色已经成熟的番茄、青色未成熟番茄的数量,减轻人工记录的工作量,减少 人工记录的误差,从经济方面是可行的。

qq_36130719的博客 812

RK356x U-Boot研究所(命令篇)3.12 mtd命令的用法

RK356x U-Boot研究所(命令篇)3.12 mtd命令的用法

Systemcall名屋 1687

mysql中systimestamp_oracle数据库中timestamp是什么数据类型

展开全部oracle数据类型看起来非常简单,但用起来会发现有许多32313133353236313431303231363533e78988e69d8331333363373038知识点,本文是我对ORACLE日期数据类型的一些整理,都是开发入门资料,与大家分享:注:由于INTERVAL及TIME ZONE实际用得比较少,所以本文内容未涉及这两个方面。1、常用日期型数据类型1.1、DATE这是OR...

weixin_30983965的博客 2475

【EMC专题】为什么芯片规格书ESD性能中看不到MM(机器放电模型)

器件级ESD包括三种类型,HBM人体放电模型、MM机械放电模型和CDM元件充电模型。但在芯片规格书中为什么只见到HBM模型与CDM模型,却没有看到MM模型的数据?

一点硬件 450

oracle与mysql数据类型_mysql 和 Oracle 数据类型对照

MySQL与Oracle两种数据库在工作中,都是用的比较多的数据库,由于MySQL与Oracle在数据类型上有部分差异,在我们迁移数据库时,会遇上一定的麻烦,下面介绍MySQL与Oracle数据库数据类型的对应关系。一、常见数据类型在MySQL与Oracle数据库中的表现形式说明mysqloracle变长字符串VARCHAR[0-65535]定义长度默认按字符长度计算,如果是GBK编码的汉字将占用...

weixin_32537029的博客 2790

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

MyBatis JdbcType 与Oracle、MySql数据类型对应关系详解

Mybatis JdbcType与Oracle、MySql数据类型对应列表。

loongshawn的博客 14万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Oracle 与 Mysql 数据类型差异

Oracle 与 Maria 数据类型差异有哪些呢?如果工作中遇到同时操作两种数据库的情况,我们需要特别谨慎,两个数据库在一些地方是有差异的,个别地方差异还特别大。 本文讲述 Oracle 与 Maria 数据类型差异到底有哪些,以及如何解决。

帝上无天的博客 4445

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Oracle和MySQL的数据类型

Oracle的数据类型 ORACLE基本数据类型(亦叫内置数据类型 built-in datatypes)可以按类型分为:字符串类型、数字类型、日期类型、LOB类型、LONG RAW& RAW类型、ROWID & UROWID类型。 字符类型 字符串数据类型还可以依据存储空间分为固定长度类型(CHAR) 和可变长度类型 VARCHAR2/NVARCHAR2)两种。 CHAR 类型 CHAR 类型,定长字符串,会用空格填充来达到其最大长度。非NULL 的CHAR(12)总是包含12 字节信息。

江南好 2782

Oracle数据类型与MySQL数据类型区别

1. 字符数据类型CHAR:固定长度字符串,最大长度2000字节。VARCHAR2:可变长度字符串,最大长度4000字节。NCHAR和NVARCHAR2:用于存储Unicode字符数据。2. 数字数据类型NUMBER:可存储整数和小数,格式为NUMBER(p,s),其中p是精度,s是小数位数。FLOAT:浮点数,是NUMBER的子类型。3. 日期和时间数据类型DATE:存储日期和时间信息,精确到秒。TIMESTAMP:比DATE更精确,可存储小数秒。

qq_40464334的博客 685

Mysql/Oracle的DATE、DATETIME 和 TIMESTAMP 类型区别

包含小数部分后,这些值的格式为'YYYY-MM-DD hh:mm:ss[.fraction]',值的范围为 DATETIME'1000-01-01 00:00:00.000000' 到 '9999-12-31 23:59:59.499999' ,值的范围为 TIMESTAMP'1970-01-01 00:00:01.000000' 到 '2038-01-19 03:14:07.499999'。支持的范围是 '1000-01-01 00:00:00'到'9999-12-31 23:59:59'。

yuangit的博客 3630

兼容Oracle与MySQL的一些事

文章目录前言一、字段类型差异二、函数差异 1、几种兼容方案a. 利用Mybatis的特性b. 是否存在相同的函数c. 自定义同名函数三、语法差异四、锁的差异总结 前言 由于公司目前主要使用的数据库为Oracle,然后部分兼容MySQL,后期会考虑全部支持Oracle和MySQL。由于二者的各种差异,我们必须有一套可行的方案减少工作量。在兼容Oracle与MySQL的那些事中我们已经仔细讨论过在数据层对多数据库的支持了,接下来的目标就是结合这种支持同时考虑其他手段达到目标了。本文从以下几点来谈一下对兼容考

m0_37607945的博客 2327

Oracle、MySql数据类型对应列表

JdbcType与Oracle、MySql数据类型对应列表,及 JdbcType Oracle MySql CHAR CHAR CHAR VARCHAR VARCHAR VARCHAR LONGVARCHAR LONG VARCHAR CLOB CLOB TEXT NCHAR NCHAR NV...

daofeng1992的博客 8553

mysql和oracle中TimeStamp的时区问题

针对mysql和oracle中TimeStamp的时区问题,实验总结如下: mysql: mysql的TimeStamp默认是不进行时区转化的,存储的是时间和服务端时区,读取到的是时间和客户端时区,时间是一致的。要开启时区转化,需要设置jdbc连接串的useTimezone=true。 如:jdbc:mysql://localhost:3306/table_name?useTimezone=tru...

FaaronZheng的专栏 2253
上一篇: FlowLayout
下一篇: MySQL 数据类型
javaPie
博客等级 码龄16年 1171粉丝 43原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值