消除SQL ORACLE中日期的小时,分 钟和秒

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了消除SQL ORACLE中日期的小时,分 钟和秒相关的知识,希望对你有一定的参考价值。

我正在尝试使用以下代码删除日期中的小时,分​​钟和秒:

TRUNC(column_date, 'YY')

但我得到了这个:01JAN2008:00:00:00,虽然我想要这个:01JAN2008

我该怎么办?

答案

TRUNC()按预期工作,并将截断为year的原始日期作为日期数据类型返回。您希望在显示之前格式化此日期(这实际上意味着将其转换为字符串)。为此,您可以使用TO_CHAR()函数。

你可能想要:

 TO_CHAR(TRUNC(column_date, 'YY'), 'ddmonyyyy')

请注意,可以简化此表达式以避免使用TRUNC(),如下所示:

 '01JAN' || TO_CHAR(column_date, 'yyyy')
另一答案

我想你想要to_charhttps://docs.oracle.com/database/121/SQLRF/functions216.htm#SQLRF06129

尝试以这种方式使用它:

SELECT TO_CHAR(column_date, 'DD/MON/YYYY')
FROM x;

其中x是您要查询的表。

另一答案

你只需要使用

select to_char(column_date,'ddMONyyyy') FROM yourTable

即使你可以调用

select to_char(column_date,'ddMONyyyy','nls_date_language=english') FROM yourTable

保证在你的JAN / session日期语言值不同于system的情况下看到缩写english

按预期显示。

以上是关于消除SQL ORACLE中日期的小时,分 钟和秒的主要内容,如果未能解决你的问题,请参考以下文章

如何在 SQL 中的日期时间列中添加小时、分钟和秒?

仅更新 Pl/SQL 中日期时间字段的日期

如何在 Oracle 的日期中添加一天的最后一小时?

如何计算给定日期的剩余天数、小时数、分钟数和秒数?

在数据库中存储日期时会丢失小时和秒[关闭]

减去日期并仅在SQL中显示整数