DateTime에서 계산 된 열을 만듭니다
-
22-07-2019 - |
문제
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))
제휴하지 않습니다 StackOverflow