Is it possible to extract data from a SQLite database with null values?
이전 댓글 표시
Hi there - I am new to databases and am running into some trouble with SQLite.
I have a SQLite database where I can retrieve data from variables with no null values successfully, but variables with empty entries throw an error in SqlDbConnector/fetchRows. I have dbprefs set with NullStringRead and NullNumberRead to 'null'; however, I get the error:
Error using matlab.depfun.internal.database.SqlDbConnector/fetchRows Unexpected NULL; (zero-based) column index: 0; details: initVecVarVecFromSqldbTypes().
% Isolate the walk of patient "McKay" 's first walk over the gaitmat. It
% should have two passes.
ID_i = num2str(ID{1})
% id is retrieved correctly
id = fetch(db, ['SELECT id FROM FootFall WHERE Gait_id = ' ID_i])
% variables with blank rows are retrieved incorrectly
PassNo = fetch(db, ['SELECT PassNo FROM FootFall WHERE Gait_ID = ' ID_i])
Blob1 = fetch(db, ['SELECT Blob1 FROM FootFall WHERE Gait_id = ' ID_i])
Is this a limitation in SQLite, or should I have dbprefs set differently? Any help appreciated.
채택된 답변
추가 답변 (3개)
Iliaz Miah
2018년 9월 11일
Use Built-in function ifnull() in your query. example(For SQLite db) I would like to get 0 in return of a query if actual data is null.
MatLab code:
table2array(fetch(conn,'SELECT ifnull(column2,0) From Table1 WHERE ID=12346')
This will return 0 if column2 is empty/null for the selected row.
Tim Buschman
2017년 6월 5일
1 개 추천
The workaround I found was to use mksqlite package: http://mksqlite.sourceforge.net/index.html . Had no problems reading a SQLite database with NULLs.
Brian
2017년 3월 21일
0 개 추천
Did you ever figure out a workaround with this? I am using 2016a and have the same issue. Is this fixed in a newer matlab?
카테고리
도움말 센터 및 File Exchange에서 MATLAB Interface to SQLite에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!