• ベストアンサー

Null値を選びたいのですが

いつもお世話になっています。 VB入門者ですがよろしくお願いします。 VB2005を使用しています。 データベースはアクセスを使用しています。 データベースの日時が入力されていないものを選択したいのですが SQLはどのように書けばよいのでしょうか? よろしくお願いします SQL &= " FROM Data WHERE Data.年月日='Null''

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

http://www.access-programmers.co.uk/forums/showthread.php?t=12534 使ったことがないので自信がないが IsNull関数を使えないだろうか?(標準ではなく,ベンダ拡張の模様)

oshiete44
質問者

お礼

ありがとうございました

その他の回答 (2)

noname#140971
noname#140971
回答No.3

tab1: ID__年月日 1___2007/11/01 2___null [イミディエイト] ? DBSelect("SELECT ID FROM Tab1 WHERE NOT Len(年月日 & '');") 2 もOKかも・・・。

oshiete44
質問者

お礼

ありがとうございました

  • pkh4989
  • ベストアンサー率62% (162/260)
回答No.2

これで、駄目でしょうか。 SQL = "SELECT * FROM Data WHERE Data.年月日 IS NULL"

oshiete44
質問者

お礼

ありがとうございました

関連するQ&A

  • WHEREでヌルをスルーしたい

    いつもお世話になっております。 SQL文のワイルドカードについての質問なのですが、 SELECT 項目1 FROM 表 WHERE 項目1 LIKE '%' というSQLがあったとして、私は項目1のレコードがすべて返されるのかと思いました。 しかしこれだと項目1フィールドにNULLが入っている(何もデータが入っていない)場合、それは除かれてしまうようです。 NULLのレコードも含めてクエリを返してくれるような条件はあるのでしょうか?

  • 副問い合わせでのNULLの抽出方法

    SQLについての質問です。 副問い合わせを使用したとき、NULLのデータも含めて抽出したいの ですが、どうもうまくいきません。 やりたいことを説明すると、まず以下の構造のテーブルがあります テーブル    コード 金額  -------------- 01  |100   01  |110   02  |090   02  |080   03  |200   04  |100   04  |150   05  |400   09  |350   null |100   null |200   集約後データ コード -------- 01  |<--- 1件目 02  |<--- 2件目 03  |<--- 3件目 04  |<--- 4件目 05  |<--- 5件目 09  |<--- 6件目 null |<--- 7件目 まず、テーブルをコードで集約します。集約された結果のデータで上位○件と いう制御をかけたい為、ROWNUMを使用しています。 ただ、実際にほしいデータは集約する前のデータの為、一度集約とROWNUMを使って 絞りこんだデータを副問い合わせしています。 但し、このときNULLが入ったコードも取得する必要があります。 現在のSQLはこんな感じです。 SELECT コード、SUM(金額) FROM テーブル WHERE コード IN ( SELECT コード FROM テーブル WHERE ROWNUM <= 10 GROUP BY コード ) GROUP BY コード このSQLだと、NULLが省かれてしまうため上位6件までしか抽出できません。 実際、NULLを含んだデータを副問い合わせで取得することは可能でしょうか? データベースはオラクル9iです。 宜しくお願いします。

  • NULLを含む文字列の結合で困っています。

    いつもお世話になっています。 VB.NET2003+Access2000環境です。 まず前提として、このデータベースにはユニークなフィールドがありません。(残念ながらこちらの都合では変更することはできません) 従って今まではAccessのクエリウイザードを使って文字列を結合(フィールドを結合)して、ユニークなキーを作っていました。 これを今回、VB.NETで動いているアプリの中にボタンを作り、そこからcsvファイルにエクスポートさせるような仕掛けを作ろうとしました。 ところが、あるフィールドがデータが存在したりNULLであったりするため、結合するとNULLになるデータが出現してきます。 (Accessでは結合時、NULLは無視されていたようで影響はありませんでした) これでは検索して絞り込むキーには出来ず、Accessと同じ結果が得られません。 SQL文では(というかデータアダプターに読み込ませるクエリデザイナ作成時に)どういう風に記述すればNULLがあっても区別出来るようになるのでしょうか? 簡単に言えば フィールドA と フィールドB ともにテキストタイプのデータで、BのみNULLもあり得る場合、  select a, b, a+b as tempAB from tableC というSQL文を実行した結果、tempAB が NULL だけにならない方法をご教示ください。 SELECT CASE when~end などをいろいろ試してみましたがダメでした。 よろしくお願いいたします。

  • Null値を入れるには?

    初歩的な質問です! SQLでデータの更新をかけたいんですが、データがNull値でもUPDATEできるようにしたいんです。 DB側でNull値の許可をしていたら問題なく動くと思ったんですが…現在Access2000を使用しています。 そこで、VBAを使ってSQLでUPDATEをかけようとしているんですが、Null値を受け取ってくれません。 受け取ってくれないため、操作ができなくなってしまいました(/_;) そこで、Null値のUPDATEの方法を教えてください。 よろしくお願いします。

  • UNION ALLのように順番がありNULLを返す方法

    SQL初心者です。ACCESSデータベースに対するクエリを書いているのですが、 条件を配列として、その配列の順番に応じたSELECT文を書きたいのです。 SELECT * FROM access_db WHERE ID = '条件' UNION ALL SELECT * FROM access_db WHERE ID = '条件' UNION ALL SELECT * FROM access_db WHERE ID = '条件' UNION ALL... といった具合にSQL文を作成しているのですが、これでは見つからない条件がある場合に、行が繰り上がり条件を格納した配列とはずれが生じてしまいます。 見つからなかった場合にNULLまたはそれを表せる何かを抽出結果として組み込むことはできますか? SQL初心者のためUNION ALL程度しか近いものが見つけられなく、困っています。 どなたかよろしくお願いします。

  • DATE型とnullの比較

    例えば以下のテーブルがあったとします。※年月日はDATE 従業員(ID,名前,勤務開始年月日,退職年月日) 退職していない従業員の退職年月日はnullが初期値として保持されます。このとき、例えば2009/2/10以前に退職した従業員情報をselectしたい場合 select * from 従業員 where 退職年月日 < 20090210 と実行した場合、null値は無視されて正常終了となりますか? select * from 従業員 where 退職年月日 < 20090210 AND 退職年月日 IS NOT NULL とする必要はありますか? 実行環境がないので教えてください。

  • データコンボのNullについて

    何度もすいませんm(__)m データコンボで 値が選択されてない場合は nullをデータベースに格納したいんですが、 できません。nullの使い方が不正です。と出ます。 教えてください。 VB6を使ってますデータベースはMySQLです。 Dim id As Integer If Me.DataCombo1.Text = "" Then id = Null Else id = Me.DataCombo1.SelectedItem End If datacombo1はInteger型のデータを データベースに格納します

  • nullと文字数について

    いつもお世話になっています。 select 項目1 from テーブル where 項目1 is null or length(項目1)>=0 質問1 上記SQLを作成した場合、全レコードが抽出されるのでしょうか? 疑問1 (1)項目1が空白一つの場合、length(項目1)>=0となる? (2)nullと空文字の違いがいまいちわからない。 以上、よろしくお願いします。

  • 「Nullの使い方が不正です」のエラー

    AccsessとVB間でデータの参照・登録・削除を行うプログラムを作成中です。 テキストボックスにデータを入力せずに更新するとAccess側はNull値が入るので、参照をした際に 「Nullの使い方が不正です」のエラーが表示されます。 Null値が表示可能ならその方法を教えてください。

  • MariaDBでのNULLの扱い方

    お世話になります。 MariaDBで作ってあるあるテーブルのひとつのフィールド "batch" にデータが入ってないために、コマンドプロンプト画面で見ると"NULL"と表示されています。添付したスクリーンショットの通りです。 ところがこれを select * from calreport where batch=NULL というコマンドを入れても empty set と表示されて、"batch" フィールドが NULL の物が表示されません。 NULL という値はどのように検出すればよいのでしょうか? 正しい select 文の書き方を教えてください。 よろしくお願いいたします。

    • ベストアンサー
    • MySQL

専門家に質問してみよう