1

在 Oracle 中,(与 pl-sql 开发人员一起)如何在列中使用格式化的默认值?(像这样: to_char(sysdate, 'HH:MM:SS') )

我想创建这个社区>>

名称:f1

类型:日期

默认值:to_char(sysdate, 'HH:MM:SS')

4

2 回答 2

4

Oracle 没有仅 TIME 列。即使您将列或变量设置为 HH24:MI:SS 它仍然会有一个日期元素。

仅存储时间的问题在于,如果没有日期,它很少有用。那么为什么不将日期时间存储在单个列中呢?

但是,如果您真的,真的,真的想要时间将“午夜后的秒数”存储为一个数字:

f1 number(5,0) default to_number(to_char(sysdate, 'sssss')) 
于 2013-02-18T07:04:34.580 回答
1

日期类型值不依赖于格式。
只有将日期转换为字符串时,才会涉及格式化。
您可以创建格式化的字符串值列:

create table t (
  id int,
  f1 varchar2(20) default to_char(sysdate, 'HH24:MI:SS')
);

SqlFiddle

于 2013-02-18T07:03:43.333 回答