On Friday, 1 November, 2019 10:20, Simon Slavin wrote:
>On 1 Nov 2019, at 4:17pm, Simon Slavin wrote:
>WHERE (c1 IS NULL) OR (C1 != 2)
> which could quite reasonably return rows. However, the NULL possibility
> may be redundant. I can't tell without tests.
The expression NOT (c1 IS
On Friday, 1 November, 2019 09:12, And Clover wrote:
> CREATE TABLE t0 (c0);
> CREATE TABLE t1 (c1);
> INSERT INTO t0 VALUES (1);
> SELECT c0
> FROM t0 LEFT JOIN t1 ON c1=c0
> WHERE NOT (c1 IS NOT NULL AND c1=2);
>Expected result: (1)
>Actual result: no rows
On 01/11/2019 16:20, Simon Slavin wrote:
It is actually
WHERE (c1 IS NULL) OR (C1 != 2)
which could quite reasonably return rows.
Yes, and with this OR filter the quoted example does indeed return rows.
The version with:
WHERE NOT (c1 IS NOT NULL AND c1=2)
*should* be equivalent to
On 1 Nov 2019, at 4:17pm, Simon Slavin wrote:
> This is a cut-down example, right ? You can't possibly mean to do that WHERE
> clause in production code. It amounts to
>
>WHERE (c1 IS NULL) AND (C1 != 2)
I'm so sorry. It is actually
WHERE (c1 IS NULL) OR (C1 != 2)
which could
On 1 Nov 2019, at 3:12pm, And Clover wrote:
>WHERE NOT (c1 IS NOT NULL AND c1=2);
>
> Expected result: (1)
> Actual result: no rows returned
This is a cut-down example, right ? You can't possibly mean to do that WHERE
clause in production code. It amounts to
WHERE (c1 IS NULL)
Hi,
CREATE TABLE t0 (c0);
CREATE TABLE t1 (c1);
INSERT INTO t0 VALUES (1);
SELECT c0
FROM t0 LEFT JOIN t1 ON c1=c0
WHERE NOT (c1 IS NOT NULL AND c1=2);
Expected result: (1)
Actual result: no rows returned
This appears to be a regression in 3.30; 3.29 and earlier
6 matches
Mail list logo