2016-05-11 12 views
-2

私はケースなステートメント下にあると私は、新しいテーブルにこれを挿入しています。新しいテーブルの下の列はVarcharですが、私はINTとしてそれを必要とします。私はAlterステートメントを使用してデータ型を変更しましたが、同じテーブルを頻繁に削除して作成します。新しいテーブルに、以下の構文のためのvarcharの代わりにINTのデータ型を作成させる方法はありますか?SQL Serverの - 2008列データ型

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL THEN '0' ELSE '1' END Enrolled' 
+2

**理由**あなたは 'THEN 0 ELSE 1 END'の代わりに' THEN '0' ELSE '1' END'を使用していますか? – Lamak

答えて

1

は、0と1の周りに単一引用符を取り除く:

CASE WHEN F.END_DATE IS NOT NULL OR F.REASON IS NOT NULL THEN 0 ELSE 1 END Enrolled' 
0

が続いて試してみてください:あなたは、代わりにVARCHAR` `の` INT`をしたい場合は

CASE WHEN coalesce(F.END_DATE,F.REASON ,0)=0 THEN 0 ELSE 1 END Enrolled 
関連する問題