Visual Query Builder
2 次查看(过去 30 天)
显示 更早的评论
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
0 个评论
采纳的回答
Oleg Komarov
2011-10-1
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.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Structures 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!