メインコンテンツへスキップ

SQLSERVER 日付NULLの判定

コメント

10件のコメント

  • nkmt

    SQLコマンドではなく
    普通のメインソースにして
    データビューに検査日があり
    それに対してFrom〜To指定をし
    From指定をしなかかった場合、

    検査日Nullの分が表示などされない
    ということでしょうか。

    検査日のFromには
    CNDRANGE(From条件<>0、From条件)
    はいかがでしょうか。

    私は普段Nullを使っていないので
    的外れならごめんなさい。

  • nkmt

    magic SQLの所に
    ISNULL(検査日,0)>=開始日
    なんて事は書けませんかね?
    実際に試しておりませんので
    誤りならご容赦ください。

  • umemori

    nkmtさんいつもありがとうございます。

    CNDRANGE(From条件<>0、From条件)ためしましたが
    Toに2024/9/6日付をいれるとはじかれます。
    MAGICSQL(DBSQL)のWHERE句のコマンドでできそうなきするのですが

    とりあえずの回避案として
     1.テーブルの日付NULL←0000/0/0更新してしまう。
     2.指示画面に日付Nullのみ表示するチェックボックスを設定する
    いづれかで逃げたいとおもいます

  • nkmt

    CNDRANGE(From条件<>0、NULL())こんな事できましたっけ?

     

    追記

    CNDRANGE(From条件<>0、NULL())ではなく

    CNDRANGE(From条件=0、NULL())

    を言いたかったのと

    NUII()という関数が存在するか投稿時点では未確認でしたが、その後ヘルプで存在を確認しました。

  • nkmt

    CNDRANGE(From条件<>0、NULL())
    ではなく
    if(From条件=0、NULL()、From条件)

  • umemori

    TO 日付条件が NULLであれば抽出されますが 

       FROM NULL()~ ToNULL() OK

    TO日付条件が2024/9/9になると抽出されないようです。

       FROM NULL~ To2024/9/9 NG

  • nkmt

    何度もすみません。
    画面指定
     検査日 (指定無し) ~ 2024/9/9 と指定した場合

    検査日 CNDRANGE(開始指定日<>0、開始指定日) ~ 終了指定日
    でも駄目でしょうか?

  • umemori

    NGでした

  • nkmt

    失礼しました。

  • umemori

    SQLコマンドくわしくないのでDBSQLの埋込でできそうな気がします。

    いまいちど研究してみます。

サインインしてコメントを残してください。