Sql 将数据类型转换为日期格式

Sql 将数据类型转换为日期格式,sql,date,select,oracle11g,varchar2,Sql,Date,Select,Oracle11g,Varchar2,创建视图时,我无法将列的数据类型设置为日期,默认数据类型为varchar2。如何将其更改为“日期”列 以下是列定义: TO_CHAR(DATE'1970-01-01' + ( 1465484488329 / 86400000 ), 'YYYY/MM/DD HH24:MI:SS') AS StartTime 输出将是 2016/06/09 15:01:28 但它默认为Varchar2格式。请建议如何将其设置为日期列类型。返回一个varchar。省略它,您应该有一个日期: DATE'1970-01

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

以下是列定义:

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

2016/06/09 15:01:28

但它默认为Varchar2格式。请建议如何将其设置为日期列类型。

返回一个
varchar
。省略它,您应该有一个
日期

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

“它省略了结果集中的小时、分钟和秒,我也想保留这些数据,@ankitpandey-不,不是。”。您的客户端正在以特定格式显示日期,例如DD-MON-YYYY。你想要一个约会,你有一个约会,包括时间。如果要以特定格式显示日期,请使用
to_char()。大多数客户端还允许您定义特定的格式;或者您可以依赖NLS设置-但您不知道其他运行查询的人会看到什么。@AlexPoole-您的意思是,您尝试了没有
到\u CHAR
的查询,并且它以YYYY/MM/DD HH24:MI:SS格式显示您的结果?我在SQL Developer中查询了它,并通过Putty连接它,在这两个地方我只得到了没有小时、分钟和秒的日期,这是DB级别的设置还是客户端设置level@ankitpandey-客户级。要显示do
alter session,请设置nls\u date\u format='YYYY-MM-DD HH24:MI:SS'
,并查询您的视图。请注意,这会影响所有日期的显示方式,并且是特定于会话的。您的视图应该返回日期数据类型,而不是字符串,并让任何查询它的人按照他们需要的方式对其进行格式化。@AlexPoole-我不确定alter session是否会为其他用户更改内容,我已经检查了其他属性,下面是:
NLS\u DATE\u格式DD-MON-RR,NLS\u TIME\u格式HH.MI.SSXFF am,NLS_时间戳_格式DD-MON-RR HH.MI.SSXFF AM,NLS_时间戳_TZ_格式HH.MI.SSXFF AM TZR,NLS_时间戳_TZ_格式DD-MON-RR HH.MI.SSXFF AM TZR
我可以使用其中任何一种吗?我的意思是把它转换成时间戳,数据类型仍然是日期?