【问题标题】:Binding a date literal to a parameter in an Oracle SQL Developer query将日期文字绑定到 Oracle SQL Developer 查询中的参数
【发布时间】:2012-05-29 20:27:00
【问题描述】:

我在 Oracle 中有一个查询(部分)如下所示:

where Doc3.clinicalDate >= ml.convert_date_to_id(:DateBegin)
    and Doc3.clinicalDate < ml.convert_date_to_id(:DateEnd)

当我将此查询放入 SSRS 并设置报表和数据集参数时,它工作正常。但是,如果我将它粘贴到 Oracle SQL Developer 中,它会弹出一个窗口,要求我“输入绑定”。当我输入“日期'2011-06-01'”时,我收到错误“ORA-01858:在预期数字的地方发现了一个非数字字符”。如何以它实际理解的格式传递日期?谢谢。

【问题讨论】:

  • 这取决于数据库的默认日期格式。尝试 06-01-2011、01-Jun-2011、2011-06-01 (注意:所有这些都没有周围的撇号,这会使它们成为字符串)。
  • 01-JUN-2011 是门票。 :-) 你能把这个作为答案让我接受吗?

标签: oracle plsql oracle-sqldeveloper


【解决方案1】:

这取决于您的数据库的默认日期格式。尝试 06-01-2011、01-Jun-2011、2011-06-01(注意:所有这些都没有周围的撇号,这会使它们成为字符串)。

【讨论】:

    【解决方案2】:

    这是一个常见的问题。我将查询更改为使用 to_date(:DateEnd,'DD/MM/YYYY') - 而不是将您的日期作为 varchar 并转换为日期。

    【讨论】:

      猜你喜欢
      • 2013-06-20
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-02-23
      • 2012-06-15
      • 2015-01-14
      相关资源
      最近更新 更多