【问题标题】:How to pass current date into a query? [duplicate]如何将当前日期传递给查询? [复制]
【发布时间】:2015-08-16 15:59:15
【问题描述】:

我正在尝试将 sysdate 传递给我的查询和相应的结果,但我没有得到任何记录。

SQL> select  PROC_PD_CD from PS_PROC_PD where PD_STRT_DT = sysdate
  2  ;

no rows selected

【问题讨论】:

  • date = NOW() 工作吗?
  • 将示例数据添加到您的问题中。此外,如果您不将值存储为日期/时间,请包括数据库类型。
  • @vkuo:Oracle 中没有now() 函数。

标签: sql oracle


【解决方案1】:

如果您想要当前日期,可以使用sysdate 获取。如果您的字段没有时间组件:

select PROC_PD_CD
from PS_PROC_PD
where PD_STRT_DT = trunc(sysdate);

否则:

select PROC_PD_CD
from PS_PROC_PD
where PD_STRT_DT >= trunc(sysdate) and
      PD_STRT_DT < trunc(sysdate + 1);

【讨论】:

  • 您好,感谢您的回复,我得到“没有选择行”两个查询
  • 那你的数据一定是不正确的,因为上面是正确的。没有样本数据很难判断发生了什么。
  • 我有下面的数据,如 PROC_PD_CD PD_STRT_DT -------- ----------- W2005001 29-DEC -2014 W2005002 2015 年 8 月 16 日
  • @akhileshchand - 请在问题中添加示例数据,而不是作为评论。显示列数据类型也会很有帮助。
【解决方案2】:

SQL Server 是 GETDATE() 用于日期时间,而 CAST(GETDATE() as date) 仅用于日期部分。

【讨论】:

  • 感谢您的回复,我正在询问有关 oracle 服务器的问题。
  • 好的。可能想在您的问题中说明这一点,并删除“sql”标签,因为我推断您想了解 Oracle 和 SQL Server。
  • SQL 标记用于语言,而不是 SQL Server。将其用于特定于 Oracle 的问题是合适的。
  • 它最初被标记为 Oracle ......在 SQL Server 中也不需要将GETDATE() 转换为日期,它已经是一个日期。
猜你喜欢
  • 1970-01-01
  • 2021-05-24
  • 1970-01-01
  • 2017-12-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-26
  • 1970-01-01
相关资源
最近更新 更多