在日期字段中存储时间

时间:2013-08-30 16:42:09

标签: oracle

我的表格中有一个日期字段,我只想存储时间,所以我正在做以下事情:

insert into mytable (timefield) values to_date("13:01:00", "hh24:mi:ss")

但是,当我稍后查询该表时,我得到的数据显示为“2013-08-01 13:01:00”

如何摆脱“2013-08-01”部分?

由于

2 个答案:

答案 0 :(得分:2)

这取决于你想要表示时间的方式。麻烦的是你总是会在值上有一个日期部分。

你可以:

to_char(my_not_really_a_date_column, 'hh24:mi:ss')

或者您可以将小时,分钟和秒单独提取为整数。

extract (hour from my_not_really_a_date_column)

可以说,更好的方法是将时间存储为间隔:http://docs.oracle.com/cd/E11882_01/server.112/e26088/sql_elements001.htm#autoId18

答案 1 :(得分:0)

试试这样: -

insert into mytable values (TO_DSINTERVAL('0 23:59:59'));

insert into mytable values TO_CHAR(SYSDATE, 'HH24:MI:SS')