当前位置: 首页 > 知识库问答 >
问题:

JPA@Query select on oracle抛出ORA-01722:字符串上的无效数字

孔鹤龄
2023-03-14

我有以下查询,完美的工程与ms-SQL但失败与甲骨文

有一个示例查询,原始查询非常复杂,但这个查询复制了错误

@Query("SELECT new Map((s.name + ' - ' + s.name) as name , s.idStandard as idStandard) FROM Standard s ")

jpa模型

public class Standard
{


    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(unique = true, nullable = false)
    private int idStandard;

    @Column(name = "Name")
    @NonNull
    private String name;

    @Column(name = "Description")
    private String description;

    @Column(name = "UpdateUser")
    private String updateUser;


    @Column(name = "UpdateDT")
        private Date updateDt;
}

为什么甲骨文认为这是一个数字?

共有1个答案

全流觞
2023-03-14

我认为世界应该知道:)使用连接运算符||解决了问题!!连接运算符允许您将 2 个或多个字符串连接在一起。

有关更多信息,请参阅文档https://www.techonthenet.com/oracle/functions/concat2.php

更新查询在 ms SQL 和 oracle 上运行

@Query("SELECT new Map((s.name || ' - ' || s.name) as name , s.idStandard as idStandard) FROM Standard s ")
 类似资料:
  • 我正在尝试使用带有Hibernate的Map创建一个简单的程序。我有一个带有州地图的Country实体。这是我的类: 以下是我创建一些国家和州的计划: 当我尝试运行此程序时,我得到的异常为: 我在第< code >行session.save(country)处得到此异常;请告诉我为什么会出现这个错误? 更新: 根据JB给出的答案,现在我在Country和State中添加了到我的Id中。这次我开始得

  • 我正在我的Oracle客户机中运行下面提到的查询,我得到了 ORA-01722:无效号码 错误。我知道这个问题是由于TAG_VALUE列的类型是“”,我正在将其转换为数字,然后在where子句中使用该字段。我尝试过使用“”功能,但这也没有帮助。如果我运行查询时忽略了最后一个 where 条件,代码为

  • 我有两个表,模式如下: 表1 table1_id(pk)(整数) 姓名 表2 table2_id(pk)(字符串) table1_id(pk)(整数) 姓名 我的代码看起来像这样 现在当我查询:: 我得到以下错误: 似乎出现了一些不匹配。它似乎使用字符串“表2_id”来查询表1,而它应该使用“表1_id” 好心帮忙!

  • 对于某人来说,这是一个非常简单的方法,下面的插入内容给了我 ORA-01722:无效的数字 为什么?

  • 当我想比较这两列时,它向我显示了这个menssage,没有“where子句”,没有任何错误,但是当我写“where”时,错误就出现了 这是我的sql句子: 月经错误:ORA-01722:无效号码01722。00000 - “无效号码” *原因:指定的号码无效。*操作: 指定一个有效的数字。

  • 我不明白为什么我会犯这个错误。 当我对交互式报表执行此查询时,它会引发 ORA-01722 错误。此查询不仅在 SQL 开发人员中正确运行,而且作为经典报表正确运行。当我将类型更改为交互式报表时,再次抛出相同的错误。 我该怎么办? 提前多谢。