我已经创建了一个应用程序,我将sql查询放在java方法中,如下所示。
private static String getSaleTransactionsQuery(final String currentTradingDate){
final String query =
" SELECT '990' line_code, " +
" sum(toti_wag.TTIW_CUST_CNT) amount " +
" FROM total_till_wag toti_wag " +
" where toti_wag.TOTI_TRADING_DATE = '" + currentTradingDate + "' ";
return query;
}
现在,当我想过滤掉SQL查询时,我必须在sql文件上复制此查询,并且必须手动删除引号(“”)和加号(+)才能使它们成为纯sql和然后必须执行它们以查看查询输出,是否有任何其他工具将格式化所有这些手段删除引号和加号,请指教
答案 0 :(得分:1)
你可以制作一个简单的脚本来帮助你。
我发现用JavaScript完成这项任务很容易。
function cleanIt(txt) {
var result = "";
// remove semi-colon at the end
txt = txt.replace(/\;$/m, '');
var lines = txt.split('\n');
for(var i=0; i<lines.length; i++) {
var line = lines[i];
// trim whitespace
line = line.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
// remove + from beginning or end of line
line = line.replace(/^\+\s*/, '').replace(/\s*\+$/, '');
// remove quotes
line = line.replace(/"/g, '');
// remove the +'s around parameters/variables
line = line.replace(/('?\s*\+\s*)([^\s\+']+)(\s*\+\s*'?)/g, '$2')
result += line + '\n';
}
return result;
}
显然它没有经过详尽的测试,但它应该为你提供一个基础来开始。
答案 1 :(得分:0)
没有自动化的方法。您可以编写一些通用的自定义函数来为您完成。
一个好的主动是在日志文件中记录所需的详细信息。如果您这样做并记录您的查询,那么您将在日志文件中看到没有引号和加号的查询。