Hello list,
I checked the coalesce function and observed the follwoing results:
I create a simple table with one column and one row:
create table TestTable (col_a numeric);
insert into TestTable (col_a) values (1);
commit;
The following statements retrieve the row, as expected:
select * from TestTable where col_a = 1;
select * from TestTable where col_a = '1';
Now when introducing coalesce, the following statements also retrieve
the row:
select * from TestTable where coalesce(col_a, 5) = 1
select * from TestTable where coalesce(col_a, '5') = 1
Bur the two next statements do not retrieve the row:
select * from TestTable where coalesce(col_a, 5) = '1'
select * from TestTable where coalesce(col_a, '5') = '1'
When using coalesce, it seems to matter what is right of the = sign in
the where clause. When comparing directly with the column, this dows not
matter.
The same effect can be observed if i replace the constant '1' to the
right of the = with a bind variable that I bind with sqlite_bind_text.
Can someone please explain this to me or point me to some documentation?
Thank you
Martin
--
*Codeswift GmbH *
Kräutlerweg 20a
A-5020 Salzburg
Tel: +49 (0) 8662 / 494330
Mob: +49 (0) 171 / 4487687
Fax: +49 (0) 3212 / 1001404
[email protected]
www.codeswift.com / www.swiftcash.at
Codeswift Professional IT Services GmbH
Firmenbuch-Nr. FN 202820s
UID-Nr. ATU 50576309
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users