2012-02-15 2 views
0

SQL Server에서 데이터 형식이 datetime 인 경우 프런트 엔드에서 "00-00-0000"을 삽입 할 수 있습니까? 오류가 발생했습니다. 사용자가 아무 것도 입력하지 않은 경우 "00-00-0000"을 삽입하고 싶습니다.datetime 열의 기본값 삽입

답변

2

00-00-0000은 (는) 날짜가 아닙니다. 사용자가 아무 것도 입력하지 않았으니 OK입니다. NULL을 입력하십시오. 클라이언트 측에 실제로 00-00-0000으로 표시하려면 COALESCE을 사용하면됩니다.

DECLARE @d TABLE(d DATETIME); 

INSERT @d SELECT '2011-01-01' 
    UNION ALL SELECT NULL; 

SELECT COALESCE(
    CONVERT(CHAR(10), d, 120), '0000-00-00') 
    FROM @d; 
+0

답장을 보내 주셔서 감사합니다. 끝날 수 없습니다. asp.net을 사용하고 있습니다. –

+1

"불가능하다"는 것이 무슨 뜻인지 모르겠습니다 - asp.net은 사용자가 날짜를 입력했는지 여부를 알고 있습니다. 그렇습니까? 따라서 형식이 지정된 문자열 대신 키워드'NULL'을 전달할 수 있습니까? –

+0

실제로, 날짜 옵션을 입력하지 않으면 널 (null)이 찍히지 만, textbox에있는 값을 datetime으로 변환하기 때문에 형식이 올바르지 않다는 오류가 발생합니다. –