在 Oracle 数据库中使用 JdbcTemplate 插入时间戳 (ORA-01858)

2024-02-29

我已经阅读了很多有关此错误的内容,但仍然没有发现错误。

我正在使用 JdbcTemplate 在某个带有时间戳列的表中插入一行 我很确定时间戳是问题所在,就好像从插入中删除它工作正常一样)

My code:

        private static final String INSERT_CITAS = "INSERT INTO CITAS (" 
        + "idCita, idServicio, " + "fechaCita, "
        + "idEstado, idUsuarioInicial) " + "VALUES (?, ?, ?, ?, ?)";

        Object[] params = {
                idCita,
                citaQuenda.getIdServicio(),
                getDateToDBFormat(citaQuenda.getFechaCita()),
                ESTADO_INICIAL,
                USUARIO_INICIAL };

        String queryCitas = INSERT_CITAS;

        super.getJdbcTemplate().update(queryCitas, params);


        protected String getDateToDBFormat(Date fechaCreacion){
        return  "TO_TIMESTAMP('" + 
                    new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(fechaCreacion)
                    + "', 'yyyy-mm-dd hh24:mi:ss')" ;
        }

并出现下一个错误:

    org.springframework.dao.DataIntegrityViolationException: PreparedStatementCallback; SQL [INSERT INTO citas_55 (idCita, idServicio, fechaCita, idEstado, idUsuarioInicial) VALUES (?, ?, ?, ?, ?)];
    ORA-01858: a non-numeric character was found where a numeric was expected

我尝试在某些 SQL 编辑器中执行 sql 并取得成功,所以我不能更困惑了。

作为我的参数: [461, 100, TO_TIMESTAMP('2015-01-28 00:00:01', 'yyyy-mm-dd hh24:mi:ss'), 1, 8888] 这实际上有效。

    INSERT INTO citas (idCita, idServicio, fechaCita, idEstado, idUsuarioInicial) VALUES (457, 100, TO_TIMESTAMP('2015-01-28 00:00:01', 'yyyy-mm-dd hh24:mi:ss') , 1, 8888);

任何形式的帮助将不胜感激。提前致谢!


不要在日期/时间戳和字符串之间来回转换。

只需通过一个java.sql.Timestamp实例作为参数:

Object[] params = {
         idCita,
         citaQuenda.getIdServicio(),
         new java.sql.Timestamp(citaQuenda.getFechaCita()),
         ESTADO_INICIAL,
         USUARIO_INICIAL };

String queryCitas = INSERT_CITAS;
super.getJdbcTemplate().update(queryCitas, params);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Oracle 数据库中使用 JdbcTemplate 插入时间戳 (ORA-01858) 的相关文章

  • java中如何格式化日期字符串? [复制]

    这个问题在这里已经有答案了 您好 我有以下字符串 2012 05 20T09 00 00 000Z 我想将其格式化为 20 05 2012 9am 在java中如何做到这一点 Thanks 如果您正在寻找针对您的特定情况的解决方案 那么它将
  • 如何使用低权限的 PL-SQL 获取 Oracle 中的列数据类型?

    我对 Oracle 数据库中的一些表具有 只读 访问权限 我需要获取某些列的架构信息 我想使用类似于 MS SQL 的东西sp help 我看到此查询中列出了我感兴趣的表 SELECT FROM ALL TABLES 当我运行这个查询时 O
  • 如何将从 date_parse 返回的日期数组转换回日期字符串

    我有一个由 php 例程 date parse 返回的格式的日期数组 我需要将此日期数组转换回日期字符串 我正在寻找一个与 date parse 例程相反的函数 这是一个接受日期数组作为参数并返回日期字符串的函数 http php net
  • 使用月份、年份、星期几和周数计算月份中的某一天

    如何在 PHP 中计算月份中的某一天 并给出月份 年份 星期几和周数 例如 如果我有 2013 年 9 月 星期几是星期五 周数是 2 那么我应该得到 6 2013 年 9 月 6 日是第二周的星期五 实现此目的的一种方法是使用相对格式 h
  • Spring(MVC)SQL注入避免?

    我想知道 Spring MVC 如何处理 SQL 注入 以及其他安全问题 XSS 代码 javascript 注入等 我主要讨论的是转义添加到数据库等的值 我似乎找不到任何答案 因为每次我搜索涉及依赖注入的 spring sql 注入结果时
  • 如何在 Python 中根据日期列绘制分类变量

    我有这样的数据 Date Fruit 2017 01 01 Orange 2017 01 01 Apple 2017 01 08 Orange 2017 01 09 Orange 2017 01 09 Apple 我想在一个图中按日期绘制橙
  • 防止 .exe 时间戳发生变化

    有谁知道如何防止可执行文件的时间戳更改 我正在尝试为 exe 生成一致的哈希代码 但我认为时间戳可能会阻止这种情况发生 每次我重新编译代码 VS C 时 FastSum 都会生成不同的校验和 Thanks PE 文件格式 如 EXE 中 具
  • 给定两个日期,在 PHP 中查找工作日数的最佳方法是什么?

    标题几乎是不言自明的 给定两个日期 使用 PHP 查找工作日数的最佳方法是什么 工作日为周一至周五 例如 我如何知道中间有 10 个工作日31 08 2008 and 13 09 2008 datefrom strtotime datefr
  • 如何在 Oracle 上生成版本 4(随机)UUID?

    该博客解释说 输出sys guid 对于每个系统来说不是随机的 http feuerthoughts blogspot de 2006 02 watch out for sequential oracle guids html http f
  • Android计算两个日期之间的天数

    我编写了以下代码来查找两个日期之间的天数 startDateValue new Date startDate endDateValue new Date endDate long diff endDateValue getTime star
  • 什么会导致 Oracle ROWID 更改?

    AFAIK Oracle 中的 ROWID 表示相应数据文件中记录的物理位置 在什么情况下记录的ROWID可能会改变 我所知道的一个是分区表上的更新 它将记录 移动 到另一个分区 还有其他情况吗 我们的大多数数据库都是 Oracle 10
  • Hibernate 本机查询 - char(3) 列

    我在 Oracle 中有一个表 其中列 SC CUR CODE 是 CHAR 3 当我做 Query q2 em createNativeQuery select sc cur code sc amount from sector cost
  • 将 Java 字符串转换为 sql.Timestamp

    收到以下格式的字符串 YYYY MM DD HH MM SS NNNNNN 时间戳来自 DB2 数据库 我需要将其解析为 java sql Timestamp 并且不丢失任何精度 到目前为止 我一直无法找到现有的代码来解析远至微秒的数据 S
  • 如何根据同一个表中的先前数据更新 SQL 表

    我有一张衡量学生表现的表格student在我的数据库中如下 ID TestDate PerformanceStatus PS 1 15 03 2016 0 1 01 04 2016 2 1 05 05 2016 1 1 07 06 2016
  • 如何使用表内的 JSONB 数据类型和 PostgreSQL JDBC 驱动程序将 JSON 对象存储到 PostgreSQL 中

    我想将以下 json 对象保存到 PostgreSQL 数据库表中as jsonb fname john lname doe 我当前使用 PGObject 创建对象并将类型设置为 jsonb 并将值作为 json 字符串传递 寻找更好的 m
  • 将单独的月、日和年值转换为时间戳

    我有月份值 1 12 日期值 1 31 和年份值 2010 2011 2012 我还有一个小时值和一个分钟值 我怎样才能把这个给strtotime 它可以以某种方式将其转换为时间戳吗 当您已经知道年月和日期时 为什么将字符串转换为日期 us
  • Oracle:动态设置表中所有 NOT NULL 列以允许 NULL

    我有一个包含 75 多个列的表 几乎所有列都有 NOT NULL 约束 如果执行巨大的更改表修改语句 其中的每一列 我会收到一条错误消息 内容大致为 您不能将此字段设置为 NULL 因为它已经是 NULL 我必须对几个表执行此操作 因此更希
  • Python日期字符串到日期对象

    如何在 python 中将字符串转换为日期对象 该字符串将是 24052010 对应格式 d m Y 我不需要 datetime datetime 对象 而是 datetime date 您可以使用strptime http docs py
  • 如何更新 pl/sql 中嵌套表的列? [复制]

    这个问题在这里已经有答案了 我正在尝试在表中创建一个可以存储多个值的列 如下所示 我有一个学生id std和一个名为marks可以采用几个值 例如2 3 4 我想更新此列表以添加另一个标记2 3 4 5但我不知道怎么做 我如何更新专栏mar
  • 根据由另一列分组的不同列的最大值获取值[重复]

    这个问题在这里已经有答案了 我想根据由另一列分组的不同列的最大值来获取列的值 我有这张表 KEY NUM VAL A 1 AB B 1 CD B 2 EF C 2 GH C 3 HI D 1 JK D 3 LM 并想要这样的结果 KEY V

随机推荐

  • C++ 中的二义性函数

    我想知道为什么这些声明不起作用 不兼容 void f int p1 void f const int p2 void f int p3 void f const int p4 如果我理解得很好 编译器不会发现 int 和 const int
  • Python - 模拟链式函数调用

    我在单元测试下的方法之一中有以下声明 db employees self db session query Employee filter Employee dept new employee dept all 我希望 db employe
  • 有没有一种简单的方法可以在 Android Studio 中查看颜色?

    如果我搜索一种颜色 它会返回结果R java public static final int cardview light background 0x7f040027 如何查看此颜色代码 这是一个 ARGB 代码 我很难找到它 有没有简单的
  • 具有 View 属性的 SwiftUI 协议返回错误“类型‘任何视图’不能符合‘视图’”

    我想定义一个协议 该协议具有要从主视图层次结构中使用的视图属性 我定义了一个协议 该协议返回带有关联视图类型的 ViewBuilder 属性包装器 protocol protocol SimpleProtocol associatedtyp
  • 如何从图例中删除已使用的值?

    In Brief 我知道scale drop TRUE 可用于从图例中删除空因子水平 也许违反直觉 我试图放弃used情节的水平 正如您可能已经猜到的 这是一个稍微有点 hack 的用例 我使用隐形条geom bar抵消 浮动 的李克特反应
  • 在我的 CustomListAdapter 上实现 Filterable 接口后无法重新加载 ListView 内容

    我在这里有两个问题 第一个问题是 我实施后Filterable我的 CustomListAdapter 中的接口启用对列表数据的搜索 我意识到每次我尝试重新加载列表视图时 它都拒绝填充列表视图 即使我能够从服务器获取数据 我的 ListVi
  • UIActionSheet 单击/点击外部时关闭

    我是 iPhone 开发新手 谁能告诉我当我点击 UIActionSheet 控件外部时如何关闭它 在我的actionSheet中 我只有datePicker控件 它会在选项卡栏控件上弹出 现在每当用户在其外部单击时 它都应该关闭 而不是使
  • 将 Python 嵌入 C++

    Problem 将 Python 嵌入 C 时抛出奇怪的异常 Program bool embedd execute python std string location if std ifstream location const cha
  • Xcode 6 AFURLRequestSerialization 中的自动合成错误

    如何修复我在 Xcode 6 beta 上使用最新 AFNetworking 获得的属性streamStatus和streamError的警告 自动属性合成不会合成 因为它是可读写的 但它将通过另一个属性只读合成 https github
  • 使用 MiniProfiler 进行直接 ADO.net 调用

    对于那些 C 和分析器极客来说 这个问题很愚蠢 我是 C 新手 基本上是 C 开发人员 如果使用的话我可以分析数据库查询dbproviderfactory 但我无法在直接使用 ado net 调用时分析它 原始SqlConnection S
  • GlobalSession 范围的 beans 是否从 spring 5 中删除了?为什么?

    1 Spring 5 中是否删除了全局会话范围的 beans 官方文档不再提及 SCOPE GLOBAL SESSION 不再是 RequestAttributes 的一部分 春季 4 https docs spring io autore
  • 无法在 OSX yosemite 上构建 Java 项目

    我被以下错误阻止 com sun tools javac util Context put Ljava lang Class Ljava lang Object V 这是完整的跟踪 project git master gradle jar
  • Ruby 中的计时器性能

    我正在寻找一个演示 ruby 计时器的在线示例 并发现了下面的代码 它按预期工作 但是这个简单的程序使用 30Mo 内存 如 Windows 任务管理器中所示 和太多的 CPU 有意义吗 多谢 def time block start ti
  • 选择 pandas 中多索引列的子级别

    我生成一个像这个例子一样的多索引数据框 import pandas as pd import numpy as np iterables co1 co2 co3 co4 age weight multi pd MultiIndex from
  • 如何强制依赖项包含具有特定版本号的工件

    尝试使用 Maven 构建 GWT 项目时出现此错误 您的项目声明对 gwt user 2 6 0 的依赖 这个插件是 至少为 gwt 版本 2 7 0 设计 我发现 gwt user 2 6 0 是通过 com google gwt ev
  • ScanResult 功能解读

    我想分析 ScanResult 的功能字符串 但是 名称最多分组在四个方括号中 例如 WPA PSK TKIP CCMP WPA2 PSK TKIP CCMP WPS ESS 考虑到某些名称可能出现在不同的括号中 是否有某种文档描述哪个括号
  • 当用户删除 .app 时,卸载该 .app 安装的项目,包括 SMJobBless 助手

    简短版本 是否可以删除应用程序设置的帮助工具 SMJobBless 等 当应用程序被删除时 如果是这样 怎么办 长版本 不幸的是 我们正在开发的Mac应用程序需要管理员权限才能执行偶尔的操作 并且即使应用程序本身没有运行 它也需要一个后台任
  • 如何在android中使用textView进行页面卷曲?

    我发现了很好的 harism 项目 它可以实现漂亮的分页效果 如以下链接https github com harism android page curl https github com harism android page curl
  • 在子菜单qt中创建滚动条?

    我有一个地图应用程序和一个子菜单 其中动态添加的对象 即地图上的点 添加到子菜单中 具体取决于加载的图层 我可以通过单击相应的子菜单项来隐藏每个单独的对象 即一个点 有什么办法可以组织子菜单吗 当有很多点 即 100 时 整个子菜单会占据屏
  • 在 Oracle 数据库中使用 JdbcTemplate 插入时间戳 (ORA-01858)

    我已经阅读了很多有关此错误的内容 但仍然没有发现错误 我正在使用 JdbcTemplate 在某个带有时间戳列的表中插入一行 我很确定时间戳是问题所在 就好像从插入中删除它工作正常一样 My code private static fina