【问题标题】:What will be the query in case of date parameter?如果是日期参数,查询会是什么?
【发布时间】:2018-10-20 07:30:41
【问题描述】:

我有一个员工的生日日期列。我想找出在这个日期生日的员工。

我将日期传递给查询 h 以获取在该日期生日的雇员。 但问题是日期是在 DateTime 格式中给出的,而表生日列也是在 DateTime 格式中给出的。

例如,2017-04-25 09:00:00

我只想要基本日期的结果,而不是他们的时间。例如:

在表中的生日列中给出日期

2017-04-25 09:00:00
2017-04-25 05:00:00

我在 JPA 查询中传递日期 2017-04-25 09:00:00 然后两个日期都应该返回。结果应仅基于日期。

【问题讨论】:

  • 您确定要使用日期“2017-04-25”进行比较吗?或者您只想将其与月份和日期进行比较 '04-25' ?如果将其与整个日期进行比较,您将不会得到任何记录。
  • @FahadAnjum:同意你的看法。您还可以更新确切的数据库名称,MySQL 还是 PostgreSQL????
  • 谁记录员工的出生时间?
  • 避免在 S.O 中使用紧急、立即等字眼
  • @Strawberry 实际上我原来的问题是不同的。我很难解释实际情况。所以我用简单的方式提问。

标签: mysql sql postgresql jpa spring-data-jpa


【解决方案1】:

声明@inputdate 日期时间

select * from Emp_table where Cast(birthdaycol as date)= cast(@inputdate as date)

【讨论】:

    【解决方案2】:

    您可以尝试如下查询:

        select * from your table where date(yourDateColumn)='2017-04-25'
    

    【讨论】:

      【解决方案3】:

      使用cast()convert()

      where cast(birthday as date) = '2017-04-25'
      

      对于您的参数,您可以将其表示为

      where cast(birthday as date) = cast(@parameter as date)
      

      【讨论】:

        猜你喜欢
        • 2017-11-06
        • 2011-06-10
        • 1970-01-01
        • 1970-01-01
        • 2011-11-23
        • 2019-11-03
        • 2021-08-16
        • 1970-01-01
        • 2022-01-13
        相关资源
        最近更新 更多