MATLAB: SQL query from Matlab

MySQLsql

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

Best Answer

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.