【发布时间】:2012-09-25 16:34:41
【问题描述】:
我有专栏:
"LASTTOUCH" TIMESTAMP(9) NOT NULL ENABLE
我必须将当前日期设置为此列。
但我不知道该怎么做。
你能帮帮我吗?
【问题讨论】:
标签: sql database oracle timestamp
我有专栏:
"LASTTOUCH" TIMESTAMP(9) NOT NULL ENABLE
我必须将当前日期设置为此列。
但我不知道该怎么做。
你能帮帮我吗?
【问题讨论】:
标签: sql database oracle timestamp
插入:
insert into tablename (LASTTOUCH) values (CURRENT_TIMESTAMP);
更新:
update tablename set LASTTOUCH=CURRENT_TIMESTAMP;
【讨论】:
如果您想要当前时间(包括时间戳精度),您可以使用 systimestamp 或 current_timestamp
SQL> select systimestamp from dual;
SYSTIMESTAMP
---------------------------------------------------------------------------
04-OCT-12 11.39.37.670428 AM -04:00
SQL> select CURRENT_TIMESTAMP from dual;
CURRENT_TIMESTAMP
---------------------------------------------------------------------------
04-OCT-12 11.39.51.021937 AM -04:00
update table_name set column_name = SYSTIMESTAMP where id = 100;
如果您只是将值设置为 sysdate,则时间戳的小数秒部分将归零,因为日期会隐式转换为时间戳。
SQL> create table t1(
2 time1 timestamp
3 );
Table created.
SQL> insert into t1 values (sysdate);
1 row created.
SQL> commit;
SQL> select to_char(time1,'MM/DD/YYYY HH24:MI:SS.FF6') result from t1;
RESULT
-----------------------------
10/04/2012 11:43:07.000000
【讨论】:
INSERT INTO tableName VALUES (SYSDATE);
或
UPDATE tableName SET COLUMN = SYSDATE;
【讨论】: