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
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
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 CenterFile Exchange 中查找有关 Database Toolbox 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by