我计划添加sql值。
Dim cmdStringc23 As String = " Update [Associate_wise_chart]
set [Hours]= (select SUM(tat) from [Dashboard].[dbo].[Dashboard]
where [assignee] like '%Santosh%') + (select SUM(tat)
from [Dashboard].[dbo].[requests]
where [assignee] like '%Santosh%') "
考虑一下, 仪表板表中的值 10 来自请求表的值为 NULL 。
所以我得到答案为10 + NULL = NULL 我把tat设置为NULL。我的要求,我必须将答案显示为 10 而不是 NULL
任何人都可以看看吗?
答案 0 :(得分:4)
使用SQL中的ISNULL函数...
Update [Associate_wise_chart]
set [Hours]= ISNULL((select SUM(tat) from [Dashboard].[dbo].[Dashboard]
where [assignee] like '%Santosh%'), 0) + ISNULL((select SUM(tat)
from [Dashboard].[dbo].[requests]
where [assignee] like '%Santosh%'), 0) "
那会让你ISNULL(10,0)+ ISNULL(NULL,0)= 10 + 0 = 10
答案 1 :(得分:1)
你不能。
NULL是“unknown”的同义词。十加不明不明。未知数可以是0,-1,42或甚至6E23 +π/ 2。但它仍然未知。
这就是你得到NULL的原因。
相反,检查NULL,如果不是NULL,则只添加其他值。
答案 2 :(得分:0)
在创建表格时设置NOTNULL
答案 3 :(得分:0)
快速轻松地将 tat 列转换为 非空 ,并使用0代替NULL。
答案 4 :(得分:0)
Dim cmdStringc23 As String = " Update [Associate_wise_chart]
set [Hours]= (select isnull(sum(tat), 0) from [Dashboard].[dbo].[Dashboard]
where [assignee] like '%Santosh%') + (select isnull(sum(tat), 0)
from [Dashboard].[dbo].[requests]
where [assignee] like '%Santosh%') "
使用isnull
答案 5 :(得分:0)
更新[仪表板]。[dbo]。[Associate_wise_chart] 设置[小时] = ISNULL((从[仪表板]中选择SUM(tat)。[dbo]。[Dashboard]其中[受让人]喜欢'%Santosh%'),0)+ ISNULL((从[选择SUM(tat)]仪表板]。[dbo] .Unbuilds [受让人]喜欢'%Santosh%'),0)其中[Name] ='Santhosh'
ISNULL正在工作。谢谢大家。