Visual Query Builder

Hi i want to retrieve sql data using matlab.
The problem is that i want to use in the "where" statement a matlab variable.
Something like this:
e = exec(conn,'SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (MATLAB_VARIABLE);
But there is an error: "Invalid Column Name".
I think that doesn't recognise that "MATLAB_VARIABLE" is a matlab variable.
If i try this: e = exec(conn,'SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (MATLAB_VARIABLE(1)); again the following error occus:"MATLAB_VARIABLE" is not a recognised built in funtion name
Any help would be appreciated
Thanks George

 채택된 답변

Oleg Komarov
Oleg Komarov 2011년 10월 1일

0 개 추천

You have to convert the content of matlab variable to a char variable.
If MATLAB_VARIABLE is already a char then simply:
str = ['SELECT COLUMN1,COLUMN2 FROM DATABASE_NAME WHERE COLUMN1 IN (' MATLAB_VARIABLE(1) ')'];
exec(conn, str)
Otherways, if it is a scalar double you have to use sprintf or num2str or str2double.
In case you have an array of values you have to use sprintf and interveal with commas.

댓글 수: 1

George
George 2011년 10월 1일
Thank you very much. I follow the instructions from the link: http://www.mathworks.com/support/solutions/en/data/1-174JK/index.html?product=DB&solution=1-174JK

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Scripts에 대해 자세히 알아보기

질문:

2011년 10월 1일

Community Treasure Hunt

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

Start Hunting!

Translated by