2016-07-04 28 views
0

で空白またはNULL値私は、私が実行したときに、私は日付時刻変数と日付列

Select '' AS [CancelledDate] from TableX 

は、私はしかし、CancelledDateと呼ばれるデータの時間変数にこの列をマッピングしているSQL実行タスクを持っている場合私はそれが動作'''01-JAN-1978'と交換した場合

Error: 0xC002F309 at Sp Get Parameter for SP2, Execute SQL Task: An error occurred while assigning a value to variable "CancelledDate": "String was not recognized as a valid DateTime.". Task failed: Sp Get Parameter for SP2

Execute Sql Task私はこのエラーを取得します。これには、列にNull''の問題がある必要があります。

私はTrueに式として評価するが、それはどちらか動作しませんでした変数とセットでNULL(DT_DATE)を入れてみました!

答えて

3

まあ、すべての最初の - 空の文字列NULLと同じではありません。空の文字列がでない場合、NULL型(値なし)は任意の型に変換できます。なぜなら、各型はNULL状態になる可能性があります。であり、必要な型に変換されているかどうかは不明です。

二 - 列が何種類を持たないことはできません。あなたの列はどのタイプですかCancelledDatevarcharです。私は、varchar(1)と思います。空の文字列が含まれています。これは有効な日時ですか?番号

このような仮想列には常に型を明示的に指定します。論理NULLの場合は、空の文字列やゼロなどの代わりにNULLを使用します。

select cast(NULL as datetime) AS [CancelledDate] 
from TableX 
+0

は、.NETのDateTime構造体にこれをマッピングしている場合も、あなたはおそらく日時を使用する必要があります。ここでは

NULL日時列を返すサンプルコードはありますか?タイプ。 – yelxe