Fetch(conn,statement) returning int64 instead of float or double
1 次查看(过去 30 天)
显示 更早的评论
I am trying to import data from SQLite with fetch. It is importing the data as int64. I would like it to import with the data type of double because with int 64 I am either getting 1 or 0, but the values I am looking at are 0.63, ect.
How can I make fetch(conn,statement) import as datetype double instead of int64? I can't find it in the documentation.
These are the commands I am running :
statement=strcat("select val from historical where sym like '",SYM,"' and Tag like 'EPS'");
y=fetch(conn,statement);
Data I am getting back looks like this :
Columns 1 through 36
1 0 0 0 0 0 0 0 0 2 6 0 0 0 0 1 0 0 1 0 0 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0
But the data in my SQLite database looks like this:
1
0.63
0.71
-0.13
0.45
0.48
0.49
0.46
0.24
2.19
6.12
0.38
0
0.6
0.78
回答(1 个)
Hitesh Kumar Dasika
2018-12-27
This is a known issue in MATLAB R2018b. This issue is fixed in the latest update of R2018b. Please check for the product updates of your installation.
3 个评论
James Maniscalco
2020-5-19
In the end I managed to rewrite my app to use a JDBC driver connection instead of SQLite for MATLAB. The JDBC version returns the correct values from the database.
As for making the switch, the two methods aren't totally interchangeable vis-a-vis function names and data types (e.g. cell vs table) but they are decently close. I would have preferred to use SQLite for MATLAB to avoid external dependencies, but oh well.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Database Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!