当前位置: 首页 > 面试题库 >

Oracle:与sysdate类似,但仅返回时间和日期

方昊英
2023-03-14
问题内容

我了解Oracle sysdate返回当前日期和时间。这对于timestamp或datetime列非常有用。

现在,假设我有一个仅DATE列。我应该在插入查询中使用哪些关键字?

insert into myTable1(myDateOnlyColumn) values(???)

假设我有一个“仅时间”列。我应该在插入查询中使用哪些关键字?

 insert into myTable2(myTimeOnlyColumn) values(???)

谢谢!


问题答案:

Oracle中没有“仅DATE”列。DATE数据类型存储日期和时间。

如果您只关心日期,则可以:

INSERT INTO tbl (dtCol) VALUES (TO_DATE('20110929','YYYYMMDD');

这将使时间部分位于00:00:00。您不必显示它。

如果您只对时间部分感兴趣,则该列中仍会存储一个日期。您只需要在输出上进行处理即可。例如:

SQL> CREATE TABLE dt (d DATE);

SQL> INSERT INTO dt VALUES (TO_DATE('1:164800','J:HH24MISS'));

1 row inserted

显示该列的实际内容将显示插入的日期:

SQL> SELECT * FROM dt;

D
--------------------
0/0/0000 4:48:00 PM

从列中仅选择时间组件,将为您提供所需的输出:

SQL> SELECT TO_CHAR(d, 'HH24:MI:SS') d FROM dt;

D
--------
16:48:00

SQL>

如果您认为只需要一个时间列,则需要确保始终插入相同的日期部分。



 类似资料:
  • 问题内容: 我有一个包含表的MySQL数据库。 但是,我找不到在Java中将其作为Java中某种对象返回的方法。 我可以打电话给它,它会返回,但这并不好,因为没有办法比较字符串上的日期等。 我也可以打电话,但这根本不返回时间。 问题答案: 您需要使用Thomas的注释中建议的getTime()或getTimestamp()方法。举个例子… 说出要查询的表格,如下所示: 您可以这样做: 如果要使用J

  • 我有一个列是使用在hibernate中映射的。如何使用本机Oracle SQL根据Oracle存储和检索这些值? 该列映射为。我尝试使用我为Unix时间戳找到的一些公式,但它们似乎没有产生正确的结果。 我想用使用Hibernate Envers。我遇到了麻烦,因为我正在将Envers应用到没有审计历史记录的现有记录的数据库中。我要做的是一次性插入审计数据,使用Oracle作为时间戳。

  • 本文向大家介绍有没有类似于MySQL中Oracle的trunc(sysdate)的功能?,包括了有没有类似于MySQL中Oracle的trunc(sysdate)的功能?的使用技巧和注意事项,需要的朋友参考一下 是的,您可以用于仅获取MySQL中的日期部分,并且可以用于获取MySQL中的当前日期。 当前日期如下- 让我们首先创建一个表- 使用插入命令在表中插入一些记录- 使用select语句显示表

  • 所以我想知道怎样才能有一张直接显示日期和时间的表格。

  • 问题内容: 假设我有一个时间戳值的DataFrame : 我想创建一个新列。我可以通过编写一个简短的函数并使用它来迭代地创建它来创建它: 然后,我将看到以下结果: 什么我 想 实现的是这样一些较短的转变(我知道是错误的,但在精神得到): 显然,该列是类型的,因此没有这些属性,但是似乎有一种使用矩阵运算的简单方法。 有更直接的方法吗? 问题答案: 假设时间戳是数据帧的索引,则可以执行以下操作: 如果

  • 本文向大家介绍postgresql的now()与Oracle的sysdate区别说明,包括了postgresql的now()与Oracle的sysdate区别说明的使用技巧和注意事项,需要的朋友参考一下 postgresql的now()为当前事务开始时间, 而Oracle的sysdate是当前时间。 区别在于事务。 而Oracle中的sysdate在事务中是一直变化的。 总结: - postgre