'Double' data is loading as 'single' from database when database reports 'double'
古いコメントを表示
I cant figure out what the deal is with this, the picture says it all. I'm using postgres, ODBC, windows 10. In the advanced options I have the default for "Numeric" as 'double'. In my database, the column types are 'double precision' (not float), but MATLAB keeps loading them as single.
?

4 件のコメント
"MATLAB even recognizes that the datatype is double."
MATLAB presumes everything numeric is double unless told differently; you can't infer that the options object is anything but default settings.
If the data are actually returned as single, that would imply that that's what the ODBC connection did to it.
Are the data being interpreted as numerically correct? If so, what's the real problem; you can always cast to double() if you really, really want to.
Tim Darrah
2021 年 3 月 12 日
Stephen23
2021 年 3 月 12 日
@Tim Darrah: a bit more context (other code and processing) might help us to understand where/why this occurs.
Tim Darrah
2021 年 3 月 12 日
採用された回答
その他の回答 (1 件)
Tim Darrah
2021 年 3 月 18 日
5 件のコメント
Rishik Ramena
2021 年 3 月 18 日
opts = databaseImportOptions(conn, 'eqc_battery_tb');
data = sqlread(conn,tablename,opts);
Try using sqlread to force the import options on the selected table.
Tim Darrah
2021 年 3 月 19 日
Tim Darrah
2021 年 3 月 19 日
Tim Darrah
2021 年 3 月 22 日
Gordon Burns
2023 年 7 月 1 日
Using fetch() instead of select() solves this problem.
カテゴリ
ヘルプ センター および File Exchange で Database Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!



