首先,让大家看一下MySQL中a和b都为0的情况。这通常发生在进行除法运算时,例如a/b。如果a和b都为0,那么这个表达式将返回0,而不是抛出一个除以零的错误。
那么为什么会这样呢?这是因为MySQL使用的是IEEE标准定义的浮点数算法。在这个算法中,除以零将返回无穷大或负无穷大,而不是抛出一个错误。然而,在MySQL中,这个结果被视为0。
此外,MySQL还可能返回NULL值。这是因为在某些情况下,MySQL将0视为NULL的同义词。例如,如果您使用了IFNULL函数来检查a和b的值,函数将返回NULL。
为了解决这个问题,您可以使用COLESCE函数来替代IFNULL函数。COLESCE函数可以接受多个参数,并返回个非NULL值。因此,如果您使用COLESCE函数来检查a和b的值,函数将返回0,而不是NULL。
除此之外,您还可以使用IF函数来检查a和b的值。IF函数可以接受三个参数条件、如果条件为真时返回的值和如果条件为假时返回的值。因此,如果您使用IF函数来检查a和b的值,函数将返回0,而不是NULL。
综上所述,MySQL将其视为0或NULL值,具体取决于上下文。如果您遇到这种情况,可以使用COLESCE或IF函数来检查它们的值,并根据需要进行处理。