gpt4 book ai didi

java - 如何在 Hibernate 和 Oracle 中使用命名查询将字符串作为数字进行搜索?

转载 作者:行者123 更新时间:2023-12-02 00:21:46 25 4
gpt4 key购买 nike

在 Oracle 中,数据类型为 vArchar,我们有一些 ID 以 0000123 格式存储。从源代码中,我们得到的 ID 为 123 或 1234,前面带有 0。在某些情况下,数据仅存储为 123。

在 SQL 查询中我可以简单地使用

Select * from Table where ID = 123 (It wil fetch even if 000123 id is present)

有没有办法通过hibernate使用命名查询来实现它,就像目前在oracle中一样,它是String而不是Varchar,并且当搜索123时不会返回正确的结果。

最佳答案

查询自动翻译为以下内容:

Select * from Table where TO_NUMBER(ID) = 123

所以你可以用它来代替。

您还可以使用:

SELECT * from Table where LTRIM(ID,'0') = LTRIM(123,'0')

如果 ID 列中有非数字值。

关于java - 如何在 Hibernate 和 Oracle 中使用命名查询将字符串作为数字进行搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58074681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com