SQL Server 2005 テーブルに、DateTimeDeleted という NULL 値を許容する DateTime 列があります。
DateTimeDeleted が null でない場合は 1、それ以外の場合は 0 の BIT 型の計算列が必要です。ただし、式の構文が正しくないようです。
私はもう試した:
(TsDeleted IS NULL) = 0
しかし、構文エラーが発生します。
ヘルプ!:)
SQL Server 2005 テーブルに、DateTimeDeleted という NULL 値を許容する DateTime 列があります。
DateTimeDeleted が null でない場合は 1、それ以外の場合は 0 の BIT 型の計算列が必要です。ただし、式の構文が正しくないようです。
私はもう試した:
(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
これは機能します。基本的に、null でない場合はそれ自体で除算を行い、NULL の場合は 0 を 1 で除算します。
CONVERT(INT,IsNULL(DateTimeDeleted,0))/CONVERT(INT,IsNULL(DateTimeDeleted,1))