【问题标题】:how to get zero instead of null如何获得零而不是null
【发布时间】:2014-04-15 22:45:06
【问题描述】:

我的问题是,当它为 null 时,我必须将 ClosingAdv 和 ClosingDebt 列显示为零。

SELECT 
  a.StudentCode, c.FullName, a.CentreCode, a.FeesCode,
  a.InstOrYear, c.FullName, d.BranchName, b.TotalPayment, 
  a.BalanceAmt,
  CASE 
     WHEN (b.TotalPayment > a.BalanceAmt) THEN (b.TotalPayment - a.BalanceAmt) 
     WHEN (b.TotalPayment = a.BalanceAmt) then '0'
  END as ClosingAdv,
  CASE 
 WHEN (a.BalanceAmt > b.TotalPayment) THEN (a.BalanceAmt - b.TotalPayment)
 WHEN (b.TotalPayment = a.BalanceAmt) then '0'
  END as ClosingDebt

【问题讨论】:

  • 供参考link
  • 您应该能够使用 Microsoft SQL Server 中提供的 ISNULL() 函数。您希望检查 NULL 的主要数据列是哪个?

标签: sql-server-2008


【解决方案1】:

您可以在语句中添加另一种情况,也可以按照上面的建议使用ISNULL()

SELECT 
  a.StudentCode, c.FullName, a.CentreCode, a.FeesCode,
  a.InstOrYear, c.FullName, d.BranchName, b.TotalPayment, 
  a.BalanceAmt,
  CASE 
     WHEN (b.TotalPayment > a.BalanceAmt) THEN (b.TotalPayment - a.BalanceAmt) 
     WHEN (b.TotalPayment = a.BalanceAmt) then '0'
     WHEN b.TotalPayment is NULL then '0'
  END as ClosingAdv,
  CASE 
 WHEN (a.BalanceAmt > b.TotalPayment) THEN (a.BalanceAmt - b.TotalPayment)
 WHEN (b.TotalPayment = a.BalanceAmt) then '0'
 WHEN a.BalanceAmt is NULL then '0'
  END as ClosingDebt

【讨论】:

  • 谢谢 ..我的意图是当 ClosingDebt 得到一些值然后 ClosingAdv=0 并且当 ClosingAdv 得到一些值时 ClosingDebt =0
  • 请准确告诉我您的原始代码有什么问题。哪一列给你空值?
  • 我应该显示像上面程序中的第一种情况发生第二种情况值应该为零我的意思是 CASE WHEN (b.TotalPayment > a.BalanceAmt) THEN (b.TotalPayment - a.BalanceAmt) WHEN ( b.TotalPayment = a.BalanceAmt) then '0' END as ClosingAdv 如果这种情况为真,那么在第二种情况下,ClosingDebt 应同时显示为零
  • 当然......先生......我得到了所需的输出,只是我保留了一个声明......情况何时(b.TotalPayment > a.BalanceAmt)那么(b.TotalPayment - a.BalanceAmt)何时( b.TotalPayment = a.BalanceAmt) then '0' else '0' END as ClosingAdv, CASE WHEN (a.BalanceAmt > b.TotalPayment) THEN (a.BalanceAmt - b.TotalPayment) WHEN (b.TotalPayment = a.BalanceAmt ) 然后 '0' 否则 '0' END 作为 ClosingDebt
猜你喜欢
  • 1970-01-01
  • 2017-10-28
  • 2022-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-16
  • 2014-12-10
  • 1970-01-01
相关资源
最近更新 更多