【问题标题】:Oracle Database cursor not retriving correct date with timeOracle 数据库游标没有返回正确的日期和时间
【发布时间】:2020-07-23 18:58:51
【问题描述】:

我有一个数据库游标如下:

CURSOR fetchquotedate(account_id IN NUMBER)
    IS
        select distinct(quotedate) 
        from mytable
        where customer_number= 12345;

mytable 中的quotedate 值为:7/27/2020 4:00:00 PM

fetch fetchquotedate into l_qDate;

但是当光标插入l_qDate 时,l_qDate 只获取日期:7/27/2020,而不是时间。

我该如何解决这个问题?

【问题讨论】:

  • 这是用于 MS SQL Server 的吗?
  • l_qDate 和 l_qDate 是什么数据类型?
  • 请将 Oracle 标签添加到您的问题中。还发布有关表定义的信息。如果您可以发布一个 pl/sql 示例来准确显示您是如何执行此操作的,那将会很有帮助。您是在 IDE 中获得价值还是打印出来?
  • 这能回答你的问题吗? how to show only the time in oracle?
  • 与您的问题无关,但是:distinct 不是函数。它始终适用于选择列表中的所有列。用括号括起来后面的列不会改变任何东西并且是无用的。

标签: sql oracle database-cursor


【解决方案1】:
SELECT TO_CHAR(quotedate, 'MM/DD/YYYY HH24:MI:SS A.M.') AS quotedate

TO_CHAR 函数添加到您的查询中。 quotedate 字段可能是表中的 DATE 类型列,因此不会检索时间。

【讨论】:

  • 感谢您的回复。我可以使用 to_char 检索带有日期和时间的quotedate:07/27/2020 16:00:00 P.M.。但是一旦我将其检索为 to_char,我如何将另一个表中的日期设置为带时间的日期。即如何将此 to_char 值转换为带有日期和时间的日期?例如引用日期 = 07/27/2020 16:00:00 P.M.. 我需要在另一个表字段 expdate 中设置此值。这是一个日期字段。我需要保存 07/27/2020 16:00:00 P.M.作为日期和时间的扩展。
  • 你的意思是使用TO_DATE函数吗?
  • 是的。我需要将检索 07/27/2020 16:00:00 P.M 值转换回日期格式以保存在日期类型的数据库列中。谢谢。
  • @techie_ns 你为什么要把它变成一个字符然后返回一个日期?我认为这将帮助您编辑您的问题,正如我之前提到的,所以很清楚您要做什么。 (还在答案上添加另一个问题是范围蔓延)
猜你喜欢
  • 1970-01-01
  • 2019-02-11
  • 1970-01-01
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 2013-12-07
  • 2011-09-27
  • 1970-01-01
相关资源
最近更新 更多