これまでで一番「情けなかったとき」はいつですか?

VB.NETでプログラムを開発中なのですが、日付型の列を持つDBにNULLを登録したいのですが、うまくいかず、質問させていただきました。

DataTableにデータを読み込んで、DataTableからDBにインポートするという流れなのですが
DataTableには、空白が存在します。

そのままインポートし、DB側で確認すると空白の箇所が「1900-01-01」となってしまいます。

”もし、A列に空白があったら全てNULLで登録する(もしくはUPDATEする)”という条件で処理を行うにはどのような処理を行えば良いのでしょうか?
※私は今のところUPDATEクエリで処理を書いています。
※DB側でNULLの許容は行っています。

補足:
DB : SQL Server
言語:VB.NET(framework4.8)
OS : Windows10

よろしくお願いいたします。

A 回答 (2件)

・DataTableの「日付型の列」はどう設定してあるのですか?


・NULLにしたいという箇所は、DataTable上ではどんなデータにしてあるのですか?
・「DataTableからDBにインポート」というのは具体的にどんな方法でやっているのですか?

例えば 「SQLを文字列で作成して実行」しているのなら
update テーブル SET 列=NULL
となるようにすればいいのでは
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

教えて頂いた通り、文字列で作成しているので、SET 列=NULLで解決しました。

ありがとうございました。

お礼日時:2020/08/24 10:51

全くの未経験領域ですけど。



SQL Server Select文で条件分岐case文-使用例編
http://gigasmegas.com/?p=736

case
where [フィールド名] <>"" then [フィールド名]
else Null

みたいにはいかないですかね?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

すいません、文字列で操作していたので、そのままSQLにNULLで操作したら解決しました。

お礼日時:2020/08/24 10:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

関連するカテゴリからQ&Aを探す


おすすめ情報

このQ&Aを見た人がよく見るQ&A