OK, got me curious, I saw the same thing & got to screwing around with it for a few minutes
the following seemed to work but… definitely not elegant, guessing someone will have a better solution
convert(varchar, CAST(DocCheckAmt AS INT)) + ‘.’ + convert(varchar,SUBSTRING(STR(CheckHed.DocCheckAmt,16,2),CHARINDEX(‘.’,STR(CheckHed.DocCheckAmt,16,2))+1,LEN(CheckHed.DocCheckAmt)) )
Just ran into the same issue today so took the time to check again.
SQL Server 2012… in earlier versions of MS SQL, Format may not be available.
I see E10 and E9 extended properties the database format is the same >>>,>>>,>>>,>>9.999
I processed an E9 dump to CSV & DocCheckAmts show 2 decimals as I would expect.
E10 dump to CSV results now have 3 decimals, as if raw fields/formats are pulled directly from the database, bypassing application formatting?
Could be considered a bug?