2011-11-23 5 views
2

테이블에 타임 스탬프 필드가 있고 Null을 허용하기 위해 디자이너의 상자를 unticked했습니다. 기본값과 바인딩 필드에 아무 것도 입력 할 수 없습니다. 회색으로 희미 해져서 아무 것도 입력 할 수 없음) SQL Server Express 2008의 쿼리 디자이너에서 내 모든 SQL 실험을 시도하고 있습니다SQLserver 읽을 수없는 결과를 얻으려고 기본값을 설정하려고하는 타임 스탬프

새 레코드를 테이블에 삽입하면 타임 스탬프 필드에 값이 제공됩니다 그 모양은 다음과 같습니다 : 0x00000000000007D7

이것은 알 수 있듯이 완전히 읽을 수 없습니다 :

어떻게하면 되겠습니까/거기에 읽을 수있는 타임 스탬프가 있습니까? GETDATE

의 기본 제약 조건

답변

4

사용 DATETIME 당신이 좋아하는 작업을 수행 할 수 있습니다

CREATE TABLE myTable 
(
    ID INT IDENTITY(1,1) PRIMARY KEY CLUSTERED, 
    myTimeStamp datetime NOT NULL DEFAULT GETDATE() 
) 

TIMESTAMP은 행 버전 관리에 사용되는 바이너리 필드 및 편집 할 수 없습니다. BOL에서

:

타임 스탬프는 데이터베이스 내에서 고유 보장됩니다 자동으로 생성 된 이진수를 노출하는 데이터 형식입니다. timestamp는 일반적으로 테이블 행을 버전 스탬프하는 메커니즘으로 사용됩니다. 저장소 크기는 8 바이트입니다.

+0

미안하지만 이미 테이블이 있다면 어떻게해야합니까? – hardboiled

+0

가장 쉬운 방법은 다음과 같습니다. 'ALTER TABLE myTable DROP COLUMN myTimestamp' 그런 다음'ALTER TABLE myTable ADD myTimeStamp DATETIME NOT NULL DEFAULT GETDATE()'여기에 전체 구문 및 옵션 : http://msdn.microsoft.com/en-us /library/ms190273.aspx –