codememo

Oracle에 타임스탬프를 삽입하는 방법

tipmemo 2023. 3. 14. 21:39
반응형

Oracle에 타임스탬프를 삽입하는 방법

Oracle DB를 사용하여timestamp필드입니다.를 삽입하기 위한 올바른 SQL 코드는 무엇입니까?timestamp이 분야로 진출할 수 있을까요?

insert
into tablename (timestamp_value)
values (TO_TIMESTAMP(:ts_val, 'YYYY-MM-DD HH24:MI:SS'));

현재 타임스탬프를 삽입하려면 다음 절차를 수행합니다.

insert
into tablename (timestamp_value)
values (CURRENT_TIMESTAMP);
INSERT
INTO    mytable (timestamp_field)
VALUES  (CURRENT_TIMESTAMP)

CURRENT_TIMESTAMP그리고.SYSTIMESTAMP이 목적을 위해 Oracle이 예약한 단어입니다.이것들은 타임 스탬프 유사점입니다.SYSDATE.

INSERT INTO TABLE_NAME (TIMESTAMP_VALUE) VALUES (TO_TIMESTAMP('2014-07-02 06:14:00.742000000', 'YYYY-MM-DD HH24:MI:SS.FF'));

삽입하려는 값이 어디서 나오느냐에 따라 달라집니다.현재 시간을 삽입하려면CURRENT_TIMESTAMP다른 답변에 나타나듯이(또는SYSTIMESTAMP).

시간을 문자열로 지정하고 타임스탬프로 변환하려면 다음과 같은 식을 사용합니다.

to_timestamp(:timestamp_as_string,'MM/DD/YYYY HH24:MI:SS.FF3')

시간 형식의 컴포넌트는 다음과 같은 점을 제외하고, 스스로 설명했으면 합니다.FF3초정도의 3자리 숫자를 의미합니다.최대 6자리까지 정밀도를 높일 수 있습니다.

응용 프로그램에서 삽입하는 경우, 최적의 답변은 언어에서 날짜/시간 값이 저장되는 방법에 따라 달라질 수 있습니다.예를 들어 특정 Java 개체를 직접 매핑할 수 있습니다.TIMESTAMP이 컬럼을 이해해야 합니다.JDBC유형 매핑.

ANSI 타임스탬프 리터럴을 선호합니다.

insert into the_table 
  (the_timestamp_column)
values 
  (timestamp '2017-10-12 21:22:23');

상세한 것에 대하여는, 메뉴얼을 참조해 주세요.https://docs.oracle.com/database/121/SQLRF/sql_elements003.htm#SQLRF51062

간단히 사용할 수 있다

INSERT INTO MY_TABLE(MY_TIMESTAMP_FIELD)
VALUES (TIMESTAMP '2019-02-15 13:22:11.871+02:00');

이렇게 하면 날짜 형식 문자열에 대해 걱정할 필요가 없습니다. 기본 타임스탬프 형식을 사용하십시오.

Oracle 11과 연동되지만 이전 Oracle 버전에서는 동작하는지 알 수 없습니다.

SQL에 날짜 삽입

insert
into tablename (timestamp_value)
values ('dd-mm-yyyy hh-mm-ss AM');

시스템 날짜를 삽입하는 경우

insert
into tablename (timestamp_value)
values (sysdate);

향후 참조를 위해:

cx_Oracle에서는 커서를 사용합니다.setinput size(...):

mycursor = connection.cursor();

mycursor.setinputsize( mytimestamp=cx_Oracle.TIMESTAMP );
params = { 'mytimestamp': timestampVar };
cusrsor.execute("INSERT INTO mytable (timestamp_field9 VALUES(:mytimestamp)", params);

DB를 변환할 필요가 없습니다.Oracle 매뉴얼 참조

먼저 필드를 Nullable로 하고 그 다음 값을 입력하는 대신 이 코드를 입력합니다.CURRENT_TIMESTAMP.

아래 샘플은 정상적으로 동작하고 있습니다.

INSERT INTO "DB"."TBL" (UPDATEDDATETIME) 
VALUES (TO_TIMESTAMP('2022-07-12 17:16:05.551000000', 'YYYY-MM-DD HH24:MI:SS.FF'))
CREATE TABLE Table1 (
id int identity(1, 1) NOT NULL,
Somecolmn varchar (5),
LastChanged [timestamp] NOT NULL)

이것은 2012년 mssql에 유효합니다.

INSERT INTO Table1 VALUES('hello',DEFAULT)  

언급URL : https://stackoverflow.com/questions/5420833/how-to-insert-a-timestamp-in-oracle

반응형