2009-10-19 2 views
0

날짜 값을 포함하는 매개 변수가 null 인 경우 테이블의 날짜 필드에 deafult null 값을 설정하는 방법은 무엇입니까?SQL Server 2000의 날짜 필드에 기본 null 값을 설정하는 방법은 무엇입니까?

+0

당신이 널 날짜 필드를 삽입 할 때 어떻게 널 (null)을 설정하라는거야? – anishMarokey

+0

yes.if date 매개 변수가 null이면 dafault 값은 '01/01/1900 '이됩니다.이 값을 NULL로 지정하십시오. – Adarsh

+2

테이블 정의 란 무엇입니까? 그리고 데이터는 SQL Server에 어떻게 도달합니까? 'NULL'이 INSERT 또는 UPDATE와 함께 전달되면 NULL이 저장됩니다. 이것이 날짜로 변환되는 경우 테이블 정의 문제 (DEFAULT 제약 조건 또는 트리거)이거나 삽입/업데이트를 수행하는 코드가 NULL을 날짜로 변환하는 것입니다. –

답변

0

전달 된 날짜 매개 변수가 NULL 일 때 저장 프로 시저에서 특정 기본값을 어떻게 설정합니까?

마크 같은 날짜 매개 변수 :

@DOB의 DATETIME =/01/1900 01 '

다음 삽입 할 것 @DOB 매개 변수 '01/1900/01'@DOB가 전달되는 경우 NULL로.

+0

date 매개 변수가 null 인 경우 dafault 값은 '01 /01/1900 '이됩니다.이 값을 NULL로 지정하려면 – Adarsh

0

시도 : 저장 프로 시저에

coalesce(param, getdate()) 

또는

ALTER TABLE dbo.Mitarbeiter ADD CONSTRAINT 
DF_Mitarbeiter_Geburtstag DEFAULT getdate() FOR Geburtstag 
+0

날짜 매개 변수가 null이면 dafault 값은 '01/01/1900 '이됩니다.이 값을 NULL로 지정하십시오. – Adarsh

+0

아 - 죄송합니다. 혼란스러워합니다. Pls. 당신의 테이블 create 문을 게시하십시오. – Arthur

2

실제로 NULL을 전달하는지 확인하십시오. 빈 문자열을 전달하고 있다고 생각합니다. 빈 문자열을 전달하면 참조하는 1900-01-01 00:00:00.000 값을 얻게됩니다. Null은 null이되어 날짜로 변경되지 않습니다.

이 테스트 코드를 시도 :

declare @x datetime 

select 'is null', @x 

set @x='' 

select 'is empty string', @x 

출력 :

------- ----------------------- 
is null NULL 

(1 row(s) affected) 


--------------- ----------------------- 
is empty string 1900-01-01 00:00:00.000 

(1 row(s) affected) 
관련 문제