2011-04-19 19 views
52

Sql Server에서 열의 기본값을 DateTime.Now으로 설정하는 방법이 있습니까?현재 날짜를 열의 기본값으로 사용하십시오.

예 :

table Event 
Id int (auto-increment) not null 
Description nvarchar(50) not null 
Date datetime not null 

라인 :

Insert into Event(Description) values('teste'); 

현재 날짜되어야 행과 날짜 값을 삽입한다.

+1

(GETDATE())를 설정 너무 - HTTP ://blog.sqlauthority.com/2013/05/10/sql-server-adding-column-defaulting-to-current-datetime-in-table/ – Steam

답변

82

값으로 GETDATE() 함수를 사용하여 기본 제약 조건을 추가하십시오.

ALTER TABLE myTable 
    ADD CONSTRAINT CONSTRAINT_NAME 
    DEFAULT GETDATE() FOR myColumn 
+8

PostgreSQL에서는 다음과 같습니다. "alter table myTable add column mydatecol date default 지금();" .. 질문의 제목에 Sql-Server가 언급되지 않았기 때문에이 주석을 추가합니다. ... – alfonx

+0

컬럼이 테이블에 이미 존재하면 INSERT 문 (또는 CURSOR 삽입)에서 값을 생략하면 기본값을 설정하는 제약이 없습니다. –

+0

관리 스튜디오에서이 작업을 수행 할 수있는 방법이 있습니까? – Steam

3

당신은 사용할 수 있습니다

Insert into Event(Description,Date) values('teste', GETDATE()); 

을 또한, 당신은 당신의 테이블을 변경할 수 있습니다 '날짜'는 기본, "GETDATE()"를 가지고

+0

ok 설정 "기본값 또는 바인딩"에서 "getdate()"로 설정 – Moji

13
CREATE TABLE Orders(
    O_Id int NOT NULL, 
    OrderNo int NOT NULL, 
    P_Id int, 
    OrderDate date DEFAULT GETDATE() // you can set default constraints while creating the table 
) 
+2

이 양식은 익명의 제약 조건을 설정합니다. 제약 조건의 이름을 지정하는 것이 가장 좋습니다 :'[...] OrderDate DATE CONSTRAINT DF_Orders_date DEFAULT GETDATE() [...]' –

2

테이블 선택 열 이름 때문에 현재 날짜의 기본값을 가져 오려는 위치

ALTER TABLE 
[dbo].[Table_Name] 
ADD CONSTRAINT [Constraint_Name] 
DEFAULT (getdate()) FOR [Column_Name] 

테이블 변경 쿼리

Alter TABLE [dbo].[Table_Name](
    [PDate] [datetime] Default GetDate()) 
0

가 날짜 컬럼에 대한 기본으로 현재 날짜을 사용하려면 필요에 :

1 열린 테이블 디자이너

2 - 열 선택

3- 열 proprerties로 이동

3-기본값의 값 또는 PROPRIETE으로 바인딩이 링크는 유용 할 수 있습니다

enter image description here

관련 문제