java - 在存储 Java 8 LocalTime 时,我应该在 Oracle 数据库中使用哪种数据类型?
问题描述
在大多数其他数据库中,我们会使用 TIME 数据类型,但 Oracle 似乎没有它。
我已经尝试过 VARCHAR(它最终存储为 1970 年 1 月)和一个 TIMESTAMP(存储为 1970 年 1 月,时间正确,但它不允许再次检索)。
解决方案
您可以使用以下数据类型:
TIMESTAMP
具有恒定的年、月和日(您可以在列上放置检查约束以强制只更改时间组件);DATE
具有恒定的年、月和日(如果您不担心小数秒;同样,您可以使用检查约束);INTERVAL DAY(0) TO SECOND
; 或者VARCHAR2
作为格式化的时间字符串。
无论您使用什么,都需要先将其从 JavaLocalTime
对象转换为适当的数据类型,然后再将其保存在数据库中,然后在检索它时反转转换。
推荐阅读
- python - 所有子集的岭回归均方根误差高于总集
- curl - Unix中的curl命令给出异常
- apache-edgent - 如何过滤 Apache Edgent 并显示被过滤的值?
- node.js - 如何将 Dynamo db 与 Express Angular 应用程序连接起来
- python - 我需要分组并在python中获得排名
- javascript - 新行作为空格和终止符
- angular - 为什么 keypress 在 mat-select 中不起作用?
- sql - 删除对 PIVOT 表的子查询
- c++ - c++ float* 数组作为对 std::vector 的引用
- javascript - 即使我没有在对等候选人中添加冰候选人,Webrtc 呼叫也会连接