在MatLab中将变量值替换为字符串

时间:2014-07-01 19:46:07

标签: sql oracle matlab

我想构建一个Oracle SQL字符串,其中包含从函数外部传递的变量。这就是我所拥有的:

function(start_date, price_type)

price_type = [' ''PJM LMP'' ', ',' , ' ''MISO LMP'' ']

start_date = '01-Jan-2014';

query = ['select * from price_table where PRICE_TYPE in (''PJM LMP'', ''MISO LMP'') and  hour > to_date(''01-Jun-2014'', ''dd-mon-yyyy'') '];

我想将price_typestart_date中的值替换为查询,但无法弄清楚如何处理引号。

1 个答案:

答案 0 :(得分:0)

Raab70, 谢谢。这是我最终想到的。它适用于任何类型。

type_str = sprintf(' ''%s'' ', char(type_cell(1)));
for i_type =2 : length(type_cell)
    type_str= sprintf(' %s , ''%s'' ', type_str, char(type_cell(i_type)));
end
query = sprintf('select * from table where PRICE_TYPE in (%s) and hour >= to_date(''%s'', ''dd-mon-yyyy'') and hour < to_date(''%s'', ''dd-mon-yyyy'')', type_str, start_date, end_date);