我如何在 Oracle 的 SQL Developer 20.2 上为 11g 数据库注册小时数?

Posted

技术标签:

【中文标题】我如何在 Oracle 的 SQL Developer 20.2 上为 11g 数据库注册小时数?【英文标题】:How can i register hours on Oracle's SQL Developer 20.2 for 11g database? 【发布时间】:2021-03-06 09:14:27 【问题描述】:

我正在尝试在表格上注册日期和小时字段。日期在那里,但我找不到小时字段的时间类型。有没有其他方法可以制作这个东西?还是我错过了什么?我正在尝试以“11:30”格式注册小时。

【问题讨论】:

在桌子上“注册”某些东西是什么意思?你的意思是INSERT?您的意思是 store(即您现在正在创建表,并且您必须定义列及其数据类型)? 【参考方案1】:

Oracle 中没有 time 数据类型。有一个date 数据类型,用于存储日期和时间

您没有解释您的实际用例,但是:大多数情况下,您不需要也不想将日期和时间存储在两个单独的列中。您可以使用date,它同时存储两者。然后,如果您确实需要(或使用计算列),您可以使用日期函数分别访问日期和时间部分。

【讨论】:

我明白了。非常感谢!【参考方案2】:

Oracle date 列始终包含日期和时间。通常没有理由有一个单独的列来存储时间。

create table foo (
  my_date_col date
);

insert into foo( my_date_col ) 
  values( to_date( '2020-11-23 11:30', 'yyyy-mm-dd hh24:mi' ) );

select trunc( my_date_col ) date_data_type_at_midnight,
       to_char( my_date_col, 'yyyy-mm-dd' ) string_representation_of_day,
       to_char( my_date_col, 'hh24:mi:ss' ) string_representation_of_time
  from foo;

【讨论】:

以上是关于我如何在 Oracle 的 SQL Developer 20.2 上为 11g 数据库注册小时数?的主要内容,如果未能解决你的问题,请参考以下文章

develop怎么显示该次查询提取所有行

在 Oracle 动态 SQL 之后如何继续

oracle如何批量执行某个文件夹下面的多个.sql脚本

如何在 pl/sql (oracle 9i) 中查找数据类型的大小?

如何打印将发送到 oracle 的 sql 查询

如何将 SQL 结果生成到 Excel 工作表 (Oracle)