How to Avoid the “divide by Zero” Error in SQL?


In SQL, dividing a number by zero will result in a "divide by zero" error. To avoid this error, there are several methods that can be used:

  • Use a NULLIF function: The NULLIF function returns NULL if the two arguments are equal. By using this function, we can replace the denominator with NULL if it is zero, which will result in a NULL value instead of an error.

Example:

SELECT numerator / NULLIF(denominator, 0) AS result
FROM table_name;
  • Use a CASE statement: We can use a CASE statement to check if the denominator is zero, and return a specific value (such as 0 or NULL) instead of performing the division.

Example:

SELECT CASE WHEN denominator = 0 THEN NULL ELSE numerator / denominator END AS result
FROM table_name;
  • Use a TRY/CATCH block: In SQL Server, we can use a TRY/CATCH block to catch the "divide by zero" error and handle it gracefully.

Example:

BEGIN TRY
    SELECT numerator / denominator AS result
    FROM table_name;
END TRY
BEGIN CATCH
    SELECT 'Error: Divide by zero' AS result;
END CATCH;

Note: It is always a good practice to avoid dividing by zero in the first place by checking for zero values in the denominator before performing the division.



About the author

William Pham is the Admin and primary author of Howto-Code.com. With over 10 years of experience in programming. William Pham is fluent in several programming languages, including Python, PHP, JavaScript, Java, C++.