Subject | Re: Re: [firebird-support] case when, in, null semantics? |
---|---|
Author | Pavel Menshchikov |
Post date | 2005-03-15T07:12:36Z |
Hello Kjell,
KR> Sorry, but you're wrong. 'a' = null evaluates to null. Always. In many
KR> situations though, null has the same effect as false - for example in
KR> when-predicates in case expressions.
OK, probably I made wrong assumption on the evaluation result from
some statements in this list (for example I [wrongly?] converted the
statement "null is not equal to null" to the statement "the expression
null=null evaluates to false").
KR> FB can't possibly have two-state logic. SQL build heavily on three-state
KR> logic. It's just that in many places null has the same effect as false.
KR> This can make things confusing. So far I've found that thinking of null
KR> as "unknown" makes otherwise unexpected results sensible in SQL.
Kjell, could you give an example of an SQL statement (or whatever),
which depends on three-state logic?
KR> Thanks for trying to help Pavel!
Welcome :)
--
Best regards,
Pavel Menshchikov
http://www.ls-software.com
KR> Sorry, but you're wrong. 'a' = null evaluates to null. Always. In many
KR> situations though, null has the same effect as false - for example in
KR> when-predicates in case expressions.
OK, probably I made wrong assumption on the evaluation result from
some statements in this list (for example I [wrongly?] converted the
statement "null is not equal to null" to the statement "the expression
null=null evaluates to false").
KR> FB can't possibly have two-state logic. SQL build heavily on three-state
KR> logic. It's just that in many places null has the same effect as false.
KR> This can make things confusing. So far I've found that thinking of null
KR> as "unknown" makes otherwise unexpected results sensible in SQL.
Kjell, could you give an example of an SQL statement (or whatever),
which depends on three-state logic?
KR> Thanks for trying to help Pavel!
Welcome :)
--
Best regards,
Pavel Menshchikov
http://www.ls-software.com