php - PHP_PDO float to string conversion different than SQLSRV itself -
after googling around discovered pdo_sqlsrv returns string values, per php spec pdo
however, why pdo return different values sql when sql query has cast value varchar?
php:
mydbwrapperfunction("select cast(cast(0.03 varchar(250))as float)"); // 2.9999999999999999e-2 mydbwrapperfunction("select 0.03"); // .03 mydbwrapperfunction("select cast(0.03 varchar(250))"); // 0.03
in sql however:
select cast(cast(0.03 varchar(250))as float) //0.03 select cast(0.03 varchar(250)) //0.03 select 0.03 //0.03
i expect
mydbwrapperfunction("select cast(cast(0.03 varchar(250))as float)"); // 2.9999999999999999e-2
to return same value
select cast(0.03 varchar(250)) //0.03
is sql cheating float values?
for sql server, need cast using str instead of casting varchar:
select str(myfield,10,2)
source: http://jwcooney.com/2013/09/25/sql-server-rounds-floats-when-casting-to-varchar/
Comments
Post a Comment