加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – Oracle:与sysdate类似,但只返回时间和日期

发布时间:2020-12-12 16:18:55 所属栏目:MsSql教程 来源:网络整理
导读:我知道Oracle sysdate会返回当前的日期和时间.这对时间戳或日期时间列非常有用. 现在让我们说我只有DATE列.我应该在插入查询中使用哪些关键字? insert into myTable1(myDateOnlyColumn) values(???) 让我们说我只有一个TIME专栏.我应该在插入查询中使用哪些
我知道Oracle sysdate会返回当前的日期和时间.这对时间戳或日期时间列非常有用.

现在让我们说我只有DATE列.我应该在插入查询中使用哪些关键字?

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

让我们说我只有一个TIME专栏.我应该在插入查询中使用哪些关键字?

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

谢谢!

解决方法

Oracle中没有DATE only列这样的东西. 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>

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读