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

在SQL ORACLE中消除日期中的小时、分钟和秒,sql,oracle,datetime,Sql,Oracle,Datetime,我正在尝试使用以下代码删除日期中的小时、分钟和秒: TRUNC(column_date, 'YY') 但是我得到这个:01JAN2008:00:00:00,而我想要这个:01JAN2008 我该怎么办呢?我想你想去查一下: 试着这样使用它: SELECT TO_CHAR(column_date, 'DD/MON/YYYY') FROM x; 其中x是您试图查询的表 TRUNC()按预期工作,并以日期数据类型返回截断为年的原始日期。您希望在显示日期之前格式化该日期(这实际上意味着将其转换为字符

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

TRUNC(column_date, 'YY')
但是我得到这个:
01JAN2008:00:00:00
,而我想要这个:
01JAN2008


我该怎么办呢?

我想你想
去查一下:

试着这样使用它:

SELECT TO_CHAR(column_date, 'DD/MON/YYYY')
FROM x;
其中x是您试图查询的表

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

您可能想要:

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

 '01JAN' || TO_CHAR(column_date, 'yyyy')
你只需要使用

select to_char(column_date,'ddMONyyyy') FROM yourTable
甚至你也可以用

select to_char(column_date,'ddMONyyyy','nls_date_language=english') FROM yourTable
如果您的
会话
/
系统
日期语言值不同于
英语


按预期显示。

如果是Oracle,为什么要添加MySQL标记??请不要再贴垃圾标签了:-)@dnoeth:是的,绝对。。。我刚刚更新了我的答案。