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

Spring jpa使用字符串日期检查记录是否存在

谢涵煦
2023-03-14

我想使用Spring JPA查询,使用两个参数检查DB是否已经存在给定运行日期和名称的记录:

  @Query("SELECT CASE WHEN COUNT(r)> 0 THEN true ELSE false END FROM REQUEST r WHERE r.NAME = :reqName AND r.RUN_DATE = :runDate")
    boolean existsRequest(@Param("reqName") String reqName,
                             @Param("runDate") String runDate);

Sql Server数据库H2中的RUN_DATE类型是一个DATE字段。然而,我提供了字符串作为日期的参数,格式为YYYY-MM-DD

上述内容对我来说不适用,我想知道如何使用JPQL和nativeQuery正确地编写它?

共有1个答案

益智明
2023-03-14

对于这种特殊情况,我认为最优雅的方法是使用查询方法:

boolean existsByNameAndRunDate(String name, String runDate);
 类似资料:
  • 问题内容: 检查值是否为有效日期(允许使用任何已知的日期格式)的简便方法是什么。 比如我有值,,它都应该被视为日期值,和值,,,不应被视为一个日期值。如果可能的话,最简单的检查方法是什么?因为时间戳也将被允许。 问题答案: 作为此副本的副本而被关闭,因此我认为在此处添加一些新信息很重要。我之所以写它,是因为我害怕人们会真正复制并粘贴此处发布的一些代码并在生产中使用它。 此处的大多数答案都使用一些仅

  • 问题内容: 是否有任何函数可以像MSSQL中那样返回给定字符串是否为日期? 问题答案: 您可以创建一个函数: 然后,您可以像这样使用它:

  • 更新: 这是否意味着,如果我想检查一个特定的字符串是否是有效的日期时间,我需要一个巨大的格式数组??会有不同的组合,我相信。 即使有很多日期分隔符('.'、'/'、'-'等)根据区域性的不同,我很难定义要检查的格式数组。 基本上,我想检查一个特定的字符串是否至少包含日(1到31或01到31)、月(1到12或01到12)和年(yyyy或yy),以任何顺序,使用任何日期分隔符,解决方案是什么? 所以,

  • 问题内容: 我有像 如何检查字符串是否为日期? 使用正则表达式检查String是否为数字 问题答案: 其他人也是正确的 这是你的答案

  • 我正在尝试使用PHP编写一个函数来确定字符串是否是日期/时间。基本上,有效日期/时间如下所示: 显然,尽管它是完全动态的,但任何值都可以更改,但它应该始终以的形式出现,我如何编写正则表达式来检查此模式并在匹配时返回true。

  • 问题内容: 我是Laravel的新手。请原谅新手问题,但是如何查找记录是否存在? 我在这里可以查看是否有记录? 问题答案: 这取决于您之后是否要与用户一起使用,还是仅检查是否存在。 如果要使用用户对象(如果存在): 如果您只想检查 甚至更好