본문 바로가기

카테고리 없음

[MSSQL] timestamp 현재시간 insert

반응형

"명시적 값을 타임스탬프 열에 삽입할 수 없습니다. 열 목록과 함께 INSERT를 사용하여 타임스탬프 열을 제외하거나 타임스탬프 열에 DEFAULT를 삽입하십시오."

 

"Cannot insert an explicit value into a timestamp column. Use INSERT with a column list to exclude the timestamp column, or insert a DEFAULT into the timestamp column."

 

타임스탬프

1. 데이터베이스 내에서 자동으로 생성되고 고유한 이진수를 노출하는 데이터 형식입니다.

2. timestamp는 일반적으로 버전 스탬프 테이블 행에 대한 메커니즘으로 사용됩니다.

3. 저장 크기는 8바이트입니다.

4. 타임스탬프 데이터 유형은 증가하는 숫자일 뿐이며 날짜나 시간을 보존하지 않습니다. 날짜 또는 시간을 기록하려면 날짜/시간 데이터 유형을 사용하십시오.

 

-> 날짜 또는 시간을 저장하려면 타임 스탬프를 사용하지 말고 다른 데이터 유형 중 하나를 사용해야합니다 (예 : datetime, smalldatetime, date, time 또는 DATETIME2)날짜 또는 시간을 저장하려면 타임 스탬프를 사용하지 말고 다른 데이터 유형 중 하나를 사용해야합니다 (예 : datetime, smalldatetime, date, time 또는 DATETIME2)

# DATETIME2를 사용해야 하는 이유

 

 

출처

https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2005/ms182776(v=sql.90)?redirectedfrom=MSDN

 

 

 

현재시간 insert 예제

create table t1 (

  c1 datetime2

)

 

insert into t1 (c1) values (CURRENT_TIMESTAMP);

 

결과

2021-10-29 10:03:56.113

 

현재시간 넣는 함수

SYSDATETIME()  2021-10-29 10:03:56.1166190 
SYSDATETIMEOFFSET() 2021-10-29 10:03:56.1166190 +09:00
SYSUTCDATETIME() 2021-10-29 01:03:56.1166190
CURRENT_TIMESTAMP  2021-10-29 10:03:56.113
GETDATE()  2021-10-29 10:03:56.113
GETUTCDATE() 2021-10-29 01:03:56.113

 

 

반응형