SQL query from Matlab

5 次查看(过去 30 天)
Gurvinder
Gurvinder 2013-8-18
Hi i am trying to format my sqlstr going into mysql but can't seem to get the format correct using sprintf function
here is the code i am using:
TableType = char(PramTest); TableRow = char(DataSelection);
%TableType reurns the value of 'SPEC' and TableRow = '1'.
sqlStrtest= sprintf('select * from %s where id%s = %d', TableType, TableType, TableRow); disp(sqlStrtest)
This reurns the following:
select * from where idSPEC = 83select * from where idPEC = 49
What i need it to return is
select * from SPEC where idSPEC = 1
can you help me please in quiring a correct format.
thank you

采纳的回答

the cyclist
the cyclist 2013-8-18
编辑:the cyclist 2013-8-18
Notice that
TableRow = '1';
and not
TableRow = 1;
TableRow is stored as a string, not a number, so that is how you should specify it in sprintf:
sqlStrtest= sprintf('select * from %s where id%s = %s', TableType, TableType, TableRow);
[See that I changed your %d to %s.]
You got the mysterious 49 because the number 1 is the 49th ASCII character.
  2 个评论
Gurvinder
Gurvinder 2013-8-18
fantastic, thank you, is there an online tutorial which one can learn more about this from, the Matlab documents sometimes confuse me as i am very new to programming in general.
Thank you again
the cyclist
the cyclist 2013-8-18
There are lots of resources online for learning MATLAB. Here is one good starting point: http://www.mathworks.com/academia/student_center/tutorials/launchpad.html

请先登录,再进行评论。

更多回答(0 个)

标签

Community Treasure Hunt

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

Start Hunting!

Translated by