Subject | Re: [Firebird-Architect] FB 2.0 Road Map |
---|---|
Author | Nando Dessena |
Post date | 2004-09-09T15:24:12Z |
Alexandre,
A> I understand the operator approach and it solves the problem, so I would
A> be happy with it, this could be more flexible since could be used in
A> WHERE clauses too.
Yep; and parametric clauses too. It would be a big plus for those who
want to consider null equivalent to null in some cases.
A> When I used MSSQL Server a loooong time ago, If my memory is still good
A> it has the UPDATED or UPDATE function, this is the reason I suggested
A> this name, and I think this is a good choice anyway.
IIRC it has UPDATED() for checking single columns plus an awkward
bitmask for multiple columns...
A> Hope the == operator don't start another "null is not a value" debate ;-)
As I see it, the semantics for the == operator should be as follows:
(value == value) evaluates to true if the values are equivalent (i.e.
the comparison for equality is true); it evaluates to false in all
other cases; it never evaluates to unknown/null.
(value == null) evaluates to false.
(null == value) evaluates to false.
(null == null) evaluates to true.
I think of it as a de-nullified '=' operator.
Ciao
--
Nando Dessena
mailto:nandod@...
A> I understand the operator approach and it solves the problem, so I would
A> be happy with it, this could be more flexible since could be used in
A> WHERE clauses too.
Yep; and parametric clauses too. It would be a big plus for those who
want to consider null equivalent to null in some cases.
A> When I used MSSQL Server a loooong time ago, If my memory is still good
A> it has the UPDATED or UPDATE function, this is the reason I suggested
A> this name, and I think this is a good choice anyway.
IIRC it has UPDATED() for checking single columns plus an awkward
bitmask for multiple columns...
A> Hope the == operator don't start another "null is not a value" debate ;-)
As I see it, the semantics for the == operator should be as follows:
(value == value) evaluates to true if the values are equivalent (i.e.
the comparison for equality is true); it evaluates to false in all
other cases; it never evaluates to unknown/null.
(value == null) evaluates to false.
(null == value) evaluates to false.
(null == null) evaluates to true.
I think of it as a de-nullified '=' operator.
Ciao
--
Nando Dessena
mailto:nandod@...