當我嘗試將第一個嵌套select語句除以列的計數時,查詢返回一個零。當我用「,」替換「/」時,我收到兩個不同的數字,所以返回值不應該爲零。這可能與數據集中存在零有關嗎?任何幫助,將不勝感激在select語句中分割時查詢返回0
declare @hospitalfk int;
set @hospitalfk='1335'
declare @startdate date;
set @startdate='03/01/2014'
declare @enddate date;
set @enddate='02/28/2015'
declare @reportname varchar(50);
set @reportname='%Medicaid Billable Report%'
declare @metasectionname varchar(100);
set @metasectionname='Medicaid Primary'
select
(
select count(iscoded)
from ope.ope.vwerali
where iscoded=1
and [email protected]
and reportdate between @startdate and @enddate
and reportname like @reportname
and metasectionname like @metasectionname
)
/count(iscoded)
from ope.ope.vwerali
where [email protected]
and reportdate between @startdate and @enddate
and reportname like @reportname
and metasectionname like @metasectionname
「我收到兩個不同的號碼」 ..你收到了什麼號碼?計數返回整數。如果不轉換爲其他數據類型,並且分母>分子,則結果爲0。例如:'select 1/2' – Dan
像Dan說的那樣,但要更具體一點...將CAST中的分母(nullif(count(iscoded),0)包裹爲float)。 SQL Server處理整數除與常規數學不同。 Nullif將防止除以零錯誤 –
嵌套的select語句返回2484和count(iscoded)返回3569.我試過將列轉換爲int,但查詢仍返回零。 – WSL346