不区分大小写的查询

发布于 2024-10-18 04:26:32 字数 457 浏览 0 评论 0原文

我有一些票号可能混合有数字和字母。我将把 ticketNumberIds 传递到此方法(用户输入)中,我希望它对 Oracle 数据库进行查询,并让查询获取大小写不同的票证。

如何使以下查询不区分大小写?

public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where t.ticketNumberId in (:ticketNumberIds)";

    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds", ticketNumberIds)
    .getResultList();

}

I have some ticket numbers that may have numbers and letters mixed. I'll be passing in the ticketNumberIds into this method (user input) and I want it to query against the Oracle database and have the query pick up tickets that differ by upper and lower cases.

How do I make the following a case-insensitive query?

public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where t.ticketNumberId in (:ticketNumberIds)";

    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds", ticketNumberIds)
    .getResultList();

}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

起风了 2024-10-25 04:26:32

您可以使用 UPPER 执行不区分大小写的查询。

public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where UPPER(t.ticketNumberId) in (:ticketNumberIds)";
    List<String> upperNumbers = new ArrayList<String>();
    for (String number : ticketNumberIds) {
        upperNumbers.add(number.toUppercase());
    }
    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds", upperNumbers)
    .getResultList();

}

You can use UPPER to perform case insensitive queries.

public List<TicketDO> getTicketDOsById(final List<String> ticketNumberIds) {

    String myQuery = "from TicketDO t where UPPER(t.ticketNumberId) in (:ticketNumberIds)";
    List<String> upperNumbers = new ArrayList<String>();
    for (String number : ticketNumberIds) {
        upperNumbers.add(number.toUppercase());
    }
    return getEntityManager().createQuery(myQuery).setParameter("ticketNumberIds", upperNumbers)
    .getResultList();

}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文