Tra*_*ago 6 sql database oracle
我知道Oracle sysdate会返回当前的日期和时间.这对时间戳或日期时间列非常有用.
现在让我们说我只有DATE列.我应该在插入查询中使用哪些关键字?
insert into myTable1(myDateOnlyColumn) values(???)
Run Code Online (Sandbox Code Playgroud)
让我们说我只有一个时间列.我应该在插入查询中使用哪些关键字?
insert into myTable2(myTimeOnlyColumn) values(???)
Run Code Online (Sandbox Code Playgroud)
谢谢!
psu*_*sur 14
要从中删除时间,sysdate
可以写TRUNC(sysdate)
.
例如:
SELECT TRUNC(SYSDATE) "TODAY" FROM DUAL;
Run Code Online (Sandbox Code Playgroud)
会给你:
TODAY
-------------------------
'2012-10-02 00:00:00'
Run Code Online (Sandbox Code Playgroud)
Oracle中没有DATE only列这样的东西.DATE数据类型存储日期和时间.
如果您只关心日期,您可以:
INSERT INTO tbl (dtCol) VALUES (TO_DATE('20110929','YYYYMMDD');
Run Code Online (Sandbox Code Playgroud)
这使时间组件保持在00:00:00.您不必显示它.
如果您只对时间组件感兴趣,那么您仍然会在列中存储日期.你只需要在输出上处理它.例如:
SQL> CREATE TABLE dt (d DATE);
SQL> INSERT INTO dt VALUES (TO_DATE('1:164800','J:HH24MISS'));
1 row inserted
Run Code Online (Sandbox Code Playgroud)
显示列的实际内容显示已插入日期:
SQL> SELECT * FROM dt;
D
--------------------
0/0/0000 4:48:00 PM
Run Code Online (Sandbox Code Playgroud)
从列中仅选择时间组件可以获得所需的输出:
SQL> SELECT TO_CHAR(d, 'HH24:MI:SS') d FROM dt;
D
--------
16:48:00
SQL>
Run Code Online (Sandbox Code Playgroud)
如果您认为只需要一个时间列,则需要确保始终插入相同的日期组件.
归档时间: |
|
查看次数: |
19022 次 |
最近记录: |