database toolbox - sql query problems
1 回表示 (過去 30 日間)
古いコメントを表示
Im browsing access databases using matlab database toolbox and sql queries.
Simple queries work fine but when I want to use 'where' statements in combination with time/date columns (timestamps) I get in trouble. 'Systeemtijd' is a table in the database containing time indication in the format: 2011-02-25 16:56:00.
no problem: Time = fetch(conn, 'SELECT ALL Systeemtijd FROM "SWS_Pand OS1 GRFMET 1" ');
problematic: Time = fetch(conn, 'SELECT ALL Systeemtijd FROM "SWS_Pand OS1 GRFMET 1" WHERE Systeemtijd > {ts'2011-02-25 16:56:00'} ');
This kind of query works fine in access and in excel but for some reason the syntax is not accepted by matlab. Likely the reason is that matlab ends the query at the second ' where the other programs do not.
What is a working code/syntax to do a query like this in matlab?
Thank you
there was a typo before. I changed it.
The error message is just this one: ??? Error: File: queryoefenen.m Line: 27 Column: 99 Unexpected MATLAB expression.
It appears because matlab closes the query at the use of an apostrophe.
2 件のコメント
Oleg Komarov
2011 年 4 月 26 日
POst the error message: http://www.mathworks.com/matlabcentral/answers/6200-tutorial-how-to-ask-a-question-on-answers
採用された回答
その他の回答 (2 件)
Oleg Komarov
2011 年 4 月 26 日
I doubt this syntax is accepted by SQL:
'SELECT ALL Systeemtijd FROM "SWS_Pand OS1 GRFMET 1" WHERE Systeemtijd > ts{'2011-02-25 16:56:00'} '
Clemens
2011 年 4 月 26 日
seems the string's not valid.
did you try replacing the apostrophes with ''(2 apostrophes) or " ?
参考
カテゴリ
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!