【问题标题】:Case insesitive query with Springboot CRUD Repository使用 Spring Boot CRUDRepository 进行不区分大小写的查询
【发布时间】:2020-07-10 13:53:21
【问题描述】:

Room_Entity 表中的值是硬编码的,Room_Status 值是大写的。我希望我的搜索不区分大小写。这是我的查询。我正在使用upper但出现错误

@Query(value = "SELECT TOP 1 r.ROOM_ID  FROM ROOM_ENTITY r WHERE r.ROOM_STATUS ='AVAILABLE'  AND r.ROOM_TYPE =:upper(roomType)", nativeQuery = true)
int findRoom(@Param("roomType") String roomType);

【问题讨论】:

  • upper(:roomType)
  • 但我会考虑使用不区分大小写的排序规则。
  • 谢谢,它成功了。我会尝试不区分大小写的排序规则。
  • @jarlh 请将此添加为答案。谢谢
  • 您确认 room_type 总是以大写形式存储值吗?否则两边都需要鞋面。

标签: java sql spring-boot


【解决方案1】:

简单地说:

AND r.ROOM_TYPE = upper(:roomType)

但我会考虑对 ROOM_TYPE 列使用不区分大小写的排序规则。

【讨论】:

    猜你喜欢
    • 2014-04-29
    • 1970-01-01
    • 2013-11-08
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    • 2018-06-14
    • 2017-06-04
    相关资源
    最近更新 更多