I am facing a strange behaviour while executing the below query
WITH X1 AS
(
SELECT 1 AS N1, 0 AS N2
UNION ALL
SELECT 1 AS N1, 1 AS N2
)
,X2 AS
(
SELECT * FROM X1 WHERE N2>0
)
SELECT N1,N2,N1/N2 FROM X2
However when I put below where condition in above select statement
SELECT N1,N2,N1/N2 FROM X2
WHERE N1/N2>0
I get "Divide by zero error encountered." Please can anyone explain why I am getting this error?
The following recommendations will help you in your SQL tuning process.
You'll find 3 sections below:
WITH X1 AS (SELECT
1 AS N1,
0 AS N2
UNION
ALL SELECT
1 AS N1,
1 AS N2), X2 AS (SELECT
*
FROM
X1
WHERE
X1.N2 > 0) SELECT
X2.N1,
X2.N2,
X2.N1 / X2.N2
FROM
X2