본문 바로가기

컴퓨터/SQL Server

MSSQL timestamp


MSSQL 에는 timestamp 라는 데이터타입이 있다.

처음에는 이름만 보고 정밀한 시간을 계산해주는 타입이겠거니 생각했고

(실제로 ORACLE에서는 timestamp가 초단위 이하의 밀리세컨드 처리를 위해 사용을 하고 있었다)

나의 삽질은 예제 하나 보고 풀렸다..ㅎㅎ


MSSQL의 timestamp 타입은 '데이터베이스에서 자동으로 생성된 고유 이진 숫자를 표시하는 데이터 형식'이다.

지금은 잘 사용하지 않고 같은 기능을 하는 rowversion 타입을 사용한다.


만약 날짜를 기록하고 싶다면 datetime 를 사용해야 한다.


** timestamp를 사용할 때 주의사항 **

 - 테이블에 timestamp 열이 하나만 존재할 수 있다.

 - timestamp 열의 값은 timestamp 열이 있는 행이 삽입되거나 업데이트될 때마다 업데이트 된다.

 - timestamp 는 읽기 전용 열이며 업데이트할 수 없다.

 - timestamp는 데이터베이스에서 고유한 값을 가진다. 


참고 문서 : http://msdn.microsoft.com/ko-kr/library/ms182776.aspx



예제 ) 

create table TIMESTAMP_TEST(

time1    timestamp,

name    varchar(10)

)


insert into TIMESTAMP_TEST(name) values('insoong')


select * from TIMESTAMP_TEST


결과로는 사용자가 insert하지 않은 time1 열에도 바이너리 값이 들어가 있을 것이다.



'컴퓨터 > SQL Server' 카테고리의 다른 글

MSSQL Msg 10327 해결방법  (0) 2015.06.01
MSSQL 계산열  (0) 2014.12.10
[링크]CLUSTERED INDEX와 NONCLUSTERED INDEX의 차이  (0) 2014.12.07
SQL Server 오류 - Msg199  (0) 2014.11.03
Oracle의 trunc 함수 사용하기  (0) 2014.07.02