문제

SQL Server 2005 테이블에 DateTimedeleted라는 Nullable DateTime 열이 있습니다.

DatetImedeleted가 NULL이 아닌 경우 1 인 비트 유형 계산 열을 원합니다. 그렇지 않으면 0. 그러나 공식에 대한 구문을 얻을 수없는 것 같습니다.

난 노력 했어:

(TsDeleted IS NULL) = 0

그러나 그것은 구문 오류를 제공합니다.

돕다! :)

도움이 되었습니까?

해결책

Alter Table MyTableName 
  Add IsDeleted As 
     (Case When [DateTimeDeleted] Is Null 
       Then (0) Else (1) End)

이것은 정수로 출력 할 것입니다 ... 당신이 정말로 그것이 조금이되기를 원한다면 : 다음 :

Alter Table MyTableName 
  Add IsDeleted As 
     cast( (Case When [DateTimeDeleted] Is Null 
       Then (0) Else (1) End) as Bit)

다른 팁

나는 이것이 효과가 있다고 생각한다 :

update table
set IsDeleted = case when DateTimeDeleted is null then 0 else 1 end

이것은 작동합니다. 기본적으로 널 있지 않으면 자체적으로 나뉘어지고 0을 1 씩 나누는 경우 널

CONVERT(INT,IsNULL(DateTimeDeleted,0))/CONVERT(INT,IsNULL(DateTimeDeleted,1))
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top