Subject Re: [IBO] NULL in TIB_Query.Params
Author Jason Wharton
> >True, it could be useful - but I think Jason would have to change the SQL
> >to make this work (since = is not the same as IS), hence the need to
> >reprepare. Jason, does TIBOQuery emulate TQuery in this case (or does
> >TIBQuery behave like TIBOQuery and differ from TQuery)?

I don't really know here. I'll have to examine things.

> >Helen, any plans for Firebird to support 'SELECT * FROM TEST WHERE A =
NULL'?
>
> No, that will never happen because there is no equivalence for Null.
"Null
> is a state not a value".

For the sake of input parameters I think it should treat a NULL value in an
input parameter to the equivalent as the IS NULL in the SQL syntax.
Otherwise it becomes rather difficult to maintain a single prepared
statement for efficient interaction with the server.

I don't want to see the syntax WHERE ACOL = NULL

but in the case where you have an input parameter:

WHERE ACOL = :APRM

And in code someone puts:

ParamByName( 'APRM' ).Clear;

I want the server to treat that like

WHERE ACOL IS NULL

Does this make sense?

It should be the same in stored procedures and triggers too.

Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com