if
when
sub-statements doesn't seem to work for MySQL's round
function, e.g.:
/* setup tables: */ create table t(i int); insert t select 0;
select round(1.234, if(i=0,1,2)) from t;
The above query should give either 1.2
or 1.23
but it consistently returns 1.234
.
It's the same with case
:
select round(1.234, case when i=0 then 1 else 2 end) from t;
select round(1.234, case i when 0 then 1 else 2 end) from t;
How can we get if
when
sub-statements to work for MySQL? Is this a bug?
(Tested on version 5.5.10
and latest 5.6.24
.)
Aucun commentaire:
Enregistrer un commentaire