我想构建一个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_type
和start_date
中的值替换为查询,但无法弄清楚如何处理引号。
答案 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);