2016-06-12 86 views
1

创建视图时,我无法将列的数据类型设置为DATE,默认数据类型为varchar2。我如何将其更改为DATE列。将数据类型转换为日期格式

下面是列定义:

TO_CHAR(DATE'1970-01-01' + (1465484488329/86400000), 'YYYY/MM/DD HH24:MI:SS') AS StartTime 

输出将被

2016年6月9日15时01分28秒

,但它是VARCHAR2格式作为默认。请建议如何使其成为日期列类型。

回答

1

to_char返回varchar。只要忽略它,你应该有一个date

DATE'1970-01-01' + (1465484488329/86400000) 
+0

它忽略小时,分钟和秒的结果集,我想保留这些数据,以及, – ankitpandey

+1

@ankitpandey - 不,没有。您的客户以特定格式显示日期,例如DD-MON-YYYY。你想要一个约会,并且你有一个约会,包括时间。如果你想以特定的格式显示文本的日期,那么使用'to_char()',但你通常希望在最后时刻这样做。大多数客户也可以让你定义一个特定的格式;或者您可以依赖NLS设置 - 但您不知道运行查询的其他人会看到什么。 –

+0

@AlexPoole - 你的意思是,你尝试了没有'TO_CHAR'的查询,它显示你的结果是** YYYY/MM/DD HH24:MI:SS **格式?我在SQL Developer中查询它并通过Putty连接它,在这两个地方我只有DATE没有小时,分钟和秒钟,这是在DB级别或客户端级别 – ankitpandey

相关问题