我正在尝试使用MapSqlParameterSource来使用Like子句创建查询.
代码是这样的.包含它的函数接收nameParam:
String namecount = "SELECT count(*) FROM People WHERE LOWER(NAME) LIKE :pname ";
String finalName= "'%" +nameParam.toLowerCase().trim() + "%'";
MapSqlParameterSource namedParams= new MapSqlParameterSource();
namedParams.addValue("pname", finalName);
int count= this.namedParamJdbcTemplate.queryForInt(namecount, namedParams);
Run Code Online (Sandbox Code Playgroud)
这不能正常工作,当我应该接收数千时,给我介于0-10结果之间.我基本上希望最终查询看起来像:
SELECT count(*) FROM People WHERE LOWER(NAME) LIKE '%name%'
Run Code Online (Sandbox Code Playgroud)
但这显然没有发生.任何帮助,将不胜感激.
编辑:
我也尝试将'%'放在SQL中,比如
String finalName= nameParam.toLowerCase().trim();
String namecount = "SELECT count(*) FROM People WHERE LOWER(NAME) LIKE '%:pname%' "
Run Code Online (Sandbox Code Playgroud)
;
但这也不起作用.
我有一个从命令行运行的程序,就像这样
python program.py 100 rfile
Run Code Online (Sandbox Code Playgroud)
我怎样才能编写一个新的脚本,这样我可以用[50,100,150,200]之类的参数列表连续运行它,而不是只用'100'参数运行它?
编辑:我问的原因是我想记录'program.py'如何用不同的参数执行.