t-sql関数でnull値を無視するにはどうすればよいですか?

Behrooz Karjoo

2つの市場データテーブル間で外部結合を行っています。2つのテーブルの取引量は異​​なる方法で報告されているため、別々にクエリを実行してから結果を合計する必要があります。

問題は、2番目のクエリは、頻繁には発生しないため、結果が返されない場合がある取引条件に対するものであるということです。したがって、c.volumeには値があり、md.volumeはnullであり、加算の結果としてnullになります。

nullを0として扱うにはどうすればよいですか?

select 
    c.the_time, c.symbol, c.volume + md.volume 
from 
    -- These are single shares
    (select 
         (time_stamp / 100000) as the_time, symbol, 
         sum(size) as volume 
     from 
         [20160510]
     where 
         price_field = 0
         and (size > 0
         and tradecond != 0)
     group by 
         (time_stamp / 100000), symbol) as c
full outer join 
    (select 
         d.the_time, d.symbol, d.volume as volume 
     from 
         -- These are single shares when multiplied by -1
        (select 
             (time_stamp / 100000) as the_time, symbol, sum(size) * -1 as volume 
         from 
             [20160510]
         where 
             price_field = 0
             and size < 0
         group by 
             (time_stamp / 100000), symbol) as d) as md on md.the_time = c.the_time 
                                                        and md.symbol = c.symbol
DhruvJoshi

COALESCEの使用を検討する必要があります。ISNULLを使用することもできますが、COALESCEはANSI標準関数であることに注意してください。参照リンク参照してください

COALESCEを使用した後のクエリは次のようになります

select 
    c.the_time, c.symbol, COALESCE(c.volume,0) + COALESCE(md.volume ,0)
from 
    -- These are single shares
    (select 
         (time_stamp / 100000) as the_time, symbol, 
         sum(size) as volume 
     from 
         [20160510]
     where 
         price_field = 0
         and (size > 0
         and tradecond != 0)
     group by 
         (time_stamp / 100000), symbol) as c
full outer join 
    (select 
         d.the_time, d.symbol, d.volume as volume 
     from 
         -- These are single shares when multiplied by -1
        (select 
             (time_stamp / 100000) as the_time, symbol, sum(size) * -1 as volume 
         from 
             [20160510]
         where 
             price_field = 0
             and size < 0
         group by 
             (time_stamp / 100000), symbol) as d) as md on md.the_time = c.the_time 
                                                        and md.symbol = c.symbol

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

T-SQLでatan2関数を実行するにはどうすればよいですか?

分類Dev

関数で使用するためにC#でNULL不可のTを取得するにはどうすればよいですか?

分類Dev

値をキャストするための関数を作成するにはどうすればよいですか:x `as` T = y?

分類Dev

既存の関数をTComparison <T>に割り当てるにはどうすればよいですか?

分類Dev

T-SQL 2005または2008で数値の前にゼロを追加するにはどうすればよいですか?

分類Dev

T-SQL for SQL Server 2008 R2で数値をフォーマットするにはどうすればよいですか?

分類Dev

T-SQLで数値をカンマでフォーマットするにはどうすればよいですか?

分類Dev

T-SQLでデバッグ時にテーブル変数の値を確認するにはどうすればよいですか?

分類Dev

SQLプロファイラーでt-sqlコマンドだけを監視するにはどうすればよいですか?

分類Dev

T-SQLを使用して、長さが異なる複数の親子関係を組み合わせるにはどうすればよいですか?

分類Dev

URLからt-sqlを介して複数のxml値を読み取るにはどうすればよいですか?

分類Dev

値型TのList <List <T >>から重複を削除するにはどうすればよいですか?

分類Dev

C#で動的に作成されたt-SQLを更新するにはどうすればよいですか?

分類Dev

Arc <T>をTと比較するにはどうすればよいですか?

分類Dev

static_cast <T>を関数として渡すにはどうすればよいですか?

分類Dev

SilverlightでList <T>を作成するにはどうすればよいですか?

分類Dev

List <T>値から新しい列を作成するにはどうすればよいですか?

分類Dev

複数の列に対してt.testを実行する関数を作成するにはどうすればよいですか

分類Dev

IEnumerable <T>を生成するタスクを受け入れる関数を定義するにはどうすればよいですか?

分類Dev

T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

分類Dev

T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

分類Dev

T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

分類Dev

サービスからIOptions <T>値を取得するにはどうすればよいですか?

分類Dev

T-SQLでお金(VARCHARを使用)を最小値から最大値に並べ替えるにはどうすればよいですか?

分類Dev

Moq:Action <T>引数が空の関数であることを確認するにはどうすればよいですか?

分類Dev

Int8_t配列をObjectiveCの整数値に変換するにはどうすればよいですか?

分類Dev

T-SQL XML:以下の形式で結果を取得するにはどうすればよいですか?

分類Dev

T-SQLのXMLタイプで&文字を使用するにはどうすればよいですか?

分類Dev

T-SQL / MSSQLでデータをCTE検索するにはどうすればよいですか?

Related 関連記事

  1. 1

    T-SQLでatan2関数を実行するにはどうすればよいですか?

  2. 2

    関数で使用するためにC#でNULL不可のTを取得するにはどうすればよいですか?

  3. 3

    値をキャストするための関数を作成するにはどうすればよいですか:x `as` T = y?

  4. 4

    既存の関数をTComparison <T>に割り当てるにはどうすればよいですか?

  5. 5

    T-SQL 2005または2008で数値の前にゼロを追加するにはどうすればよいですか?

  6. 6

    T-SQL for SQL Server 2008 R2で数値をフォーマットするにはどうすればよいですか?

  7. 7

    T-SQLで数値をカンマでフォーマットするにはどうすればよいですか?

  8. 8

    T-SQLでデバッグ時にテーブル変数の値を確認するにはどうすればよいですか?

  9. 9

    SQLプロファイラーでt-sqlコマンドだけを監視するにはどうすればよいですか?

  10. 10

    T-SQLを使用して、長さが異なる複数の親子関係を組み合わせるにはどうすればよいですか?

  11. 11

    URLからt-sqlを介して複数のxml値を読み取るにはどうすればよいですか?

  12. 12

    値型TのList <List <T >>から重複を削除するにはどうすればよいですか?

  13. 13

    C#で動的に作成されたt-SQLを更新するにはどうすればよいですか?

  14. 14

    Arc <T>をTと比較するにはどうすればよいですか?

  15. 15

    static_cast <T>を関数として渡すにはどうすればよいですか?

  16. 16

    SilverlightでList <T>を作成するにはどうすればよいですか?

  17. 17

    List <T>値から新しい列を作成するにはどうすればよいですか?

  18. 18

    複数の列に対してt.testを実行する関数を作成するにはどうすればよいですか

  19. 19

    IEnumerable <T>を生成するタスクを受け入れる関数を定義するにはどうすればよいですか?

  20. 20

    T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

  21. 21

    T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

  22. 22

    T-SQLを使用して外部キー制約を一時的に無効にするにはどうすればよいですか?

  23. 23

    サービスからIOptions <T>値を取得するにはどうすればよいですか?

  24. 24

    T-SQLでお金(VARCHARを使用)を最小値から最大値に並べ替えるにはどうすればよいですか?

  25. 25

    Moq:Action <T>引数が空の関数であることを確認するにはどうすればよいですか?

  26. 26

    Int8_t配列をObjectiveCの整数値に変換するにはどうすればよいですか?

  27. 27

    T-SQL XML:以下の形式で結果を取得するにはどうすればよいですか?

  28. 28

    T-SQLのXMLタイプで&文字を使用するにはどうすればよいですか?

  29. 29

    T-SQL / MSSQLでデータをCTE検索するにはどうすればよいですか?

ホットタグ

アーカイブ