在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:是的,绝对。。。我刚刚更新了我的答案。