SQL处理0(零)作为分母

时间:2017-07-25 11:30:57

标签: sql ms-access

我正在尝试在MS Access中编写查询,并且查询从两个表中划分两个不同的计数。它看起来像这样:

public static void deleteFile(File directory, String fileName) {

    if (directory.isDirectory()) {
        for(File file : directory.listFiles()) {

            if (file.getName().contains(fileName)) {

                if (file.isFile()) {
                    if (file.exists()) {
                        file.delete();
                    }
                }
            }
        }
    }
}

当我运行它时,我被要求输入“userInput”的值。但有时,列(column1)将没有该值,它将返回0.有没有办法我可以处理这个...例如,我可以在分母为0的任何时候使分子变为0。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以将值转换为NULL

Select (Count(*) /
        (Select iif(Count(*) = 0, NULL, COUNT(*)) from table1 where column1 = userInput
        )
       )
from table2;

答案 1 :(得分:1)

你可以尝试:

Select 
    IIf(
        (Select Count(*) FROM table1 where column1 = userInput) = 0,
        0,
        Count(*)/(Select Count(*) FROM table1 where column1 = userInput))
From table2;