转换日期类型以仅显示时间
Casting Date type to only display time
在我的数据库(Oracle 11 数据库)中,我有一个日期类型的属性,但由于某种原因在值中有一个时间,我知道为什么它是日期类型而不是日期时间。当我 select 这个“ Position_time” 当然它只显示日期但是当我尝试对该列进行过滤时,更多选项会多次显示同一日期,因此时间值存在于此列,即使它是日期类型。
Link to picture of position_time context
如图所示,即使属性是 Date 类型,它也包含一个时间 "component" 顺便说一下,只有当我尝试过滤重要的列 idk 时,这才不会显示在概述中。
我想从我的约会中提取这个时间。我看过很多解释如何从 DateTime 列而不是 Date 中提取的帖子。我无法更改此列的类型。有什么办法可以做到这一点?
例如
select
format(tr.position_time)
from positions
您将转换为字符串:
select to_char(tr_position_time, 'HH24:MI:SS')
from positions;
你的意思是这样的:
select to_char(to_date(position_time,'dd-mm-yyyy HH24:MI:SS'),
'HH24:MI:SS') time from positions;
如果您已经将日期类型作为参数传递,则只需使用 to_char
函数从中提取时间。
例如:
Select to_char(position_time,'HH24:MI:SS') from positions;
在 Oracle 中,date
数据类型由日期 + 时间组成。
是你的IDE的NLS
设置显示了这样的数据。
如果您想显示日期和时间,请使用:
select
To_char(tr.position_time,'dd-mon-rrrr hh24:mi:ss')
from positions
或者如果您只想要时间部分,请使用:
select
To_char(tr.position_time,'hh24:mi:ss')
from positions
如果您想查看会话中的所有日期和时间,请更改会话的 NLS
设置。
ALTER SESSION SET NLS_DATE_FORMAT = 'dd-mon-yyyy hh24:mi:ss';
select
tr.position_time -- formatting is not needed
from positions
在您的 IDE 中,也必须有更改 NLS
设置的设置。
干杯!!
在我的数据库(Oracle 11 数据库)中,我有一个日期类型的属性,但由于某种原因在值中有一个时间,我知道为什么它是日期类型而不是日期时间。当我 select 这个“ Position_time” 当然它只显示日期但是当我尝试对该列进行过滤时,更多选项会多次显示同一日期,因此时间值存在于此列,即使它是日期类型。 Link to picture of position_time context
如图所示,即使属性是 Date 类型,它也包含一个时间 "component" 顺便说一下,只有当我尝试过滤重要的列 idk 时,这才不会显示在概述中。
我想从我的约会中提取这个时间。我看过很多解释如何从 DateTime 列而不是 Date 中提取的帖子。我无法更改此列的类型。有什么办法可以做到这一点? 例如
select
format(tr.position_time)
from positions
您将转换为字符串:
select to_char(tr_position_time, 'HH24:MI:SS')
from positions;
你的意思是这样的:
select to_char(to_date(position_time,'dd-mm-yyyy HH24:MI:SS'),
'HH24:MI:SS') time from positions;
如果您已经将日期类型作为参数传递,则只需使用 to_char
函数从中提取时间。
例如:
Select to_char(position_time,'HH24:MI:SS') from positions;
在 Oracle 中,date
数据类型由日期 + 时间组成。
是你的IDE的NLS
设置显示了这样的数据。
如果您想显示日期和时间,请使用:
select
To_char(tr.position_time,'dd-mon-rrrr hh24:mi:ss')
from positions
或者如果您只想要时间部分,请使用:
select
To_char(tr.position_time,'hh24:mi:ss')
from positions
如果您想查看会话中的所有日期和时间,请更改会话的 NLS
设置。
ALTER SESSION SET NLS_DATE_FORMAT = 'dd-mon-yyyy hh24:mi:ss';
select
tr.position_time -- formatting is not needed
from positions
在您的 IDE 中,也必须有更改 NLS
设置的设置。
干杯!!