私はいくつかの数式とそのようなものを使っていくつかの値を得ることができるクエリを持っています。クエリが値を持っている場合は、それが正常に動作しますが、私は値を持たない場合は、分割式で、それは私にSQLで遭遇したゼロで割り算
遭遇ゼロによる分割既知のエラーを
与えるこれは、クエリは次のとおりです。
WITH TrashFile AS( SELECT FileType AS[Extension], COUNT(*) AS [Nº of files], CAST(((COUNT(FileSize) * 100.0)/(SELECT COUNT(*) FROM InfoFile)) AS DECIMAL(10, 2)) AS[Percentage(%)], CAST((SUM(FileSize)/1024.0) AS DECIMAL(10,1)) AS [Total(KB)], NULL AS [Converted to MB], NULL AS [Converted to GB], MIN(COUNT(*)) OVER() * 100.0/(SUM(COUNT(*)) OVER()) AS[Min.Percentage(%)], MAX(COUNT(*)) OVER() * 100.0/SUM(COUNT(*)) OVER() AS[Max.Percentage(%)] FROM InfoFile GROUP BY FileType) SELECT[Extension], [Nº of files], [Percentage(%)], [Total(KB)], [Converted to MB], [Converted to GB], NULL AS[Min.Percentage(%)], NULL AS[Max.Percentage(%)] FROM TrashFile UNION ALL SELECT '-----------------------------', COUNT('Nº de extensions'), ((COUNT(FileType) * 100)/(SELECT COUNT(FileType) FROM InfoFile)), CAST((SUM(FileType)/1024.0) AS DECIMAL(10,1)), CAST((SUM(FileType)/1024.0/1024.0) AS DECIMAL(10,5)), CAST((SUM(FileType)/1024.0/1024.0/1024.0) AS DECIMAL(10,9)), CAST(((SELECT MAX([Min.Percentage(%)]) FROM TrashFile)) AS DECIMAL(10,2)) AS[Min.Percentage(%)] , CAST((SELECT MAX([Max.Percentage(%)]) FROM TrashFile) AS DECIMAL(10,2)) AS[Max.Percentage(%)] FROM InfoFile
どうすれば解決できますか?似たような状況に対処する、私はcase文の中にすべての私の格差を挿入
することはでき簡単にGoogleのこの1のように、SO自体に、ここで多くを含め、この質問に対する答えは、のために:[?SQLでエラー「ゼロによる除算」を回避する方法](のhttp://のstackoverflow。 com/questions/861778/how-to-avoid-the-zero-in-error-in-sqlを参照してください)。 – 3N1GM4