web-dev-qa-db-ja.com

OracleでSQLクエリを介してTIMESTAMP型の列を更新するにはどうすればよいですか?

列があります:

"LASTTOUCH" TIMESTAMP(9) NOT NULL ENABLE

この列に現在の日付を設定する必要があります。

しかし、どうすればよいかわかりません。

私を手伝ってくれますか?

9
user471011

インサート:

insert into tablename (LASTTOUCH) values (CURRENT_TIMESTAMP);

更新:

update tablename set LASTTOUCH=CURRENT_TIMESTAMP;
13
Koerr

現在の時刻(タイムスタンプの精度を含む)が必要な場合は、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
6
INSERT INTO tableName VALUES (SYSDATE);

OR

UPDATE tableName SET COLUMN = SYSDATE;
1
Luke Liu