2016-07-11 5 views
-1

나는 "0".I 그것을 할 코드 줄을 사용하여 날짜 컬럼에 null 값을 대체하기 위해 원 내가 오류가있어 : 내가 함께 날짜 컬럼에 NULL 값을 대체 할 수있는 방법는 "0"

"Operand type clash: int is incompatible with date"

을 "0"

+0

'0'은 '날짜'가 아닙니다. 왜 지구에서'Date' 칼럼에'0'을 저장하고 싶은지 –

+0

시도 ..' '0000-00-00'' –

+0

@ J.Zend 0000-00-00은 유효한 날짜가 아닙니다 ... –

답변

1
declare @dt datetime = '2016-07-11' 
declare @dt2 datetime = null 

select case when @dt is null then '0' else cast(@dt as varchar(11)) end dt, 
     case when @dt2 is null then '0' else cast(@dt2 as varchar(11)) end dt2 

반환

dt   dt2 
Jul 11 2016 0 
+0

고맙습니다. @ P. 살몬 – mql4beginner

+1

날짜가 아니므로 문자열입니다. : P –

0

이 시도 :

SELECT ISNULL(myColumn, 0) FROM myTable 
당신은 DATE0이 어차피
+0

고마워요.하지만 그건 내 질문에 대한 유효한 답변이 아닙니다. – mql4beginner

+2

@ mql4beginner - 귀하의 질문조차도 유효하지 않습니다. 왜 당신은'DATE' 칼럼에'0'을 저장하고 싶습니까? –

+0

@Prdp, null을 취하지 않는 통계 패키지가 필요합니다. – mql4beginner

1

0INT입니다. 0이 (DATEDIFF(...)에서와 같이) DATE으로 사용되었지만 실제로는 19000101 일 수 있습니다.

어쨌든 당신이 정말로 무엇인지 모르겠지만 ISO 8601 INT 형식의 날짜 또는 null 인 경우 0을 제공합니다.

INT 유형을 VARCHAR 형식으로 변경하려는 경우가 있습니다. 하지만 날짜가 없으면 문자열이 생깁니다.

COALESCE(CONVERT(INT, CONVERT(VARCHAR(8),MyDate, 112)),0)