java - Oracle - 如何在不格式化的情况下将 Java 项目中的时间戳作为字符串插入
问题描述
在 spring 项目中,有一个 sql 数据可以将值插入到 oracle 数据库中。如果我尝试插入时间戳,我会得到 ORA 异常(不是有效月份)。
INSERT INTO TAB (colTimestamp)
VALUES ('2020-05-07-10.05.05.301011')
为什么那不是一个有效的月份?
DB2 中没有问题。那么我应该以哪种格式插入时间戳?我也试过2019-05-05 10:10:10但我得到了同样的例外我如何插入时间戳?oracle 中时间戳的默认格式是什么?
解决方案
您需要使用使用 ISO 格式格式化的正确时间戳文字:
timestamp '2020-05-07 10:05:05.301011'
所以-
日期和时间之间没有,:
要分开小时、分钟和秒。我相信这同样适用于 DB2。
如果您通过 JDBC 进行插入,则不应传递字符串开头。使用 a并传递一个或至少PreparedStatement
一个实例java.time.LocalDateTime
java.sql.Timestamp
推荐阅读
- pytorch - 使用 simple-transformers pytorch 库时,即使有可用内存,CUDA 也会内存不足
- python - 如果定义了函数,Sympy 可以识别表达式中的函数吗?
- node.js - 对employeeID 和employeeName 使用相同代码的动态方式
- python-3.x - Python:TypeError:在输出日期时间元组时找不到必需的参数“序列”(位置 1)
- python - PySpark:java.lang.NoClassDefFoundError:无法初始化类 org.apache.spark.sql.kafka010.KafkaDataConsumer$
- python - 如何在保留重复项的同时按值对熊猫数据框进行排序?
- c++ - 编译器如何决定调用哪个函数模板?
- logic - 如何在 Coq 中证明 (0 = 2) -> false?
- python - 无法在 sklearn 管道中使用灵活类型执行 reduce
- c# - c# - 从具有多条记录的数据库中返回的 SELECT 语句