从oracle中的日期列中获取日期和时间

Get date and time from date column in oracle

我在数据库中插入了日期和时间,现在尝试从数据库中检索日期和时间时只获取时间部分。

我尝试使用 TO_DATE('08/13/2019 09:10:03', 'MM/DD/YYYY HH24:MI:SS') 将日期插入 'Time' 列。现在尝试使用 TO_DATE(Time, 'DD/MON/RR HH24:MI:SS') 从 table 获取日期,但只获取日期部分。我的数据库 nls 日期格式是 "DD/MON/RR"。 'Time' col 是日期类型,我使用的是 oracle 10g xe。

我可以使用 TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS') 获取日期和时间,但因为我需要在如下比较操作中使用它:

select TO_CHAR(Time,'DD/MON/RR HH24:MI:SS') from Table where (TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS') <= TO_DATE('08/07/2019 10:13:52', 'MM/DD/YYYY HH24:MI:SS'))

它给出了这个错误 'ORA-01830: date format picture ends before converting entire input string'。也尝试使用 TO_DATE(TO_CHAR(Time, 'DD/MON/RR HH24:MI:SS')),它仍然只给出时间部分。我应该为 'Time' 列使用 TIMESTAMP 数据类型吗?

我想从 table 获取日期和时间,以便在比较操作中使用它们。

日期不需要再次转换成日期。

您可以像这样简单地编写您的查询:

SELECT
    TIME -- use to_char for formatting the output date
FROM Table
WHERE
    TIME <= TO_DATE('08/07/2019 10:13:52', 'MM/DD/YYYY HH24:MI:SS')

干杯!!