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

Popular posts from this blog

sql - VB.NET Operand type clash: date is incompatible with int error -

SVG stroke-linecap doesn't work for circles in Firefox? -

python - TypeError: Scalar value for argument 'color' is not numeric in openCV -