2013-01-22 63 views
0

我需要一些SQL语句的帮助,在下面的SQL语句正常工作,但是我想添加如果closing_balance为空,则将该值设置为0.00SQL语句空值

有没有去把它添加到下面的语句:

SqlCommand scGetPostings = new SqlCommand(@" 
    SELECT 
     D1.dr, 
     D1.cr, 
     D1.asset_no, 
     (open_bal + dr - cr) AS closing_balance 
    FROM (SELECT 
      COALESCE(SUM(dr_amount), 0) AS dr, 
      COALESCE(SUM(cr_amount), 0) AS cr, 
      asset_no 
      FROM posting, sysasset 
      WHERE posting.asset_no = @AssetNumber 
      AND period >= asset_open_per 
      GROUP BY asset_no) AS D1, asset 
    WHERE D1.asset_no = asset.asset_no", DataAccess.AssetConnection); 
+0

请删除C#代码,因为它似乎是一个纯粹的SQL问题。并将查询与下降格式(缩进和换行符) –

回答

2

您应该使用ISNULL函数的声明:

ISNULL(open_bal + dr - cr, 0.0) as closing_balance 
1
(ISNULL(open_bal, 0.0) + ISNULL(dr, 0.0) - ISNULL(cr, 0.0)) as closing_balance 
0

尝试:

nvl(open_bal + dr - cr, 0.0) as closing_balance 

sql_isnull