string SQL="select * from where "+searchtype+" like '%"+searchkey+"%

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string SQL="select * from where "+searchtype+" like '%"+searchkey+"%相关的知识,希望对你有一定的参考价值。

if(booktype.equals("所有书籍"))   if(!searchtype.equals("") && !searchkey.equals(""))     sql1 += " where "+searchtype+" like '%"+searchkey+"%'";   sql2 += " where "+searchtype+" like '%"+searchkey+"%'";     else   sql1 += " where type='"+booktype+"'";  sql2 += " where type='"+booktype+"'";  if(!searchtype.equals("") && !searchkey.equals(""))     sql1 += " and "+searchtype+" like '%"+searchkey+"%'";   sql2 += " and "+searchtype+" like '%"+searchkey+"%'";   这段代码是什么意思,希望可以说得详细点,谢谢!!

string SQL="select * from where "+searchtype+" like '%"+searchkey+"%' ";
你写的sql有问题,from后没有表名,
searchtype是你的表中的字段名, searchkey是你的查询条件,写完整了就像我下边写的sql一样:select * from Student where name like '%张%';(意思就是查询Student表中的name字段,只要name中的字段包含'张'字的都给查询出来)

if(booktype.equals("所有书籍")) :判断你的booktype是否为"所有书籍"
然后判断if(!searchtype.equals("") && !searchkey.equals("")) 是否为空,条件满足的情况下,就追加sql1,和sql2的条件
大概就是这个意思
参考技术A 拼接SQL语句。返回的string类型的SQL语句为
SELECT * FROM table WHERE (变量‘searchtype’对应的列名)LIKE (变量‘searchkey’对应的值)
参考技术B from后没有表名,这是个模糊查询,查找“searchtype”里包含“searchkey”的语句

出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?

【中文标题】出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?【英文标题】:Getting error An SQL error "-204" occurred while processing the SELECT string in the Action String parameter when executing DB2 EXPORT IXF? 【发布时间】:2019-08-28 14:13:10 【问题描述】:

连接到数据库后,我在 Shell bash 上执行以下命令 下面的文本文件在 DB2 数据库中具有表名,例如

TABLE1
TABLE2
..
TABLEN

for tablenam in $(cat textfile)
do
 db2 'EXPORT TO $PPL_IXFDRV/PREBKP/tablenam.IXF OF~
  IXF MESSAGES /dev/null~
  SELECT * FROM $SCHEMA.tablenam'
done

当我运行它时,我得到以下错误

SQL3022N 处理 中的 SELECT 字符串时发生 SQL 错误“-204” 操作字符串参数。

我已经用单引号尝试了上面的命令,如下所示

for tablenam in $(cat textfile)
do
 db2 EXPORT TO $PPL_IXFDRV/PREBKP/tablenam.IXF OF~
  IXF MESSAGES /dev/null~
  SELECT \* FROM $SCHEMA.tablenam
done

这也给了我同样的结果

我在这里要做的是以 IXF 格式卸载数据库中“文本文件”列表中存在的 DB2 表,用重复命令中的 tablenam 替换 db2 EXPORT

【问题讨论】:

显然 Db2 找不到您要导出的表。使用-v 开关和db2 来回显正在执行的实际命令;您可能会发现问题出在哪里。 【参考方案1】:

试试这个:

for tablenam in $(cat textfile)
do
 db2 "EXPORT TO $PPL_IXFDRV/PREBKP/$tablenam.IXF OF
  IXF 
  SELECT * FROM $SCHEMA.$tablenam"
done

【讨论】:

我刚才试过了,结果是一样的可能没有被文本文件中的表名取代,我不确定需要一些帮助 循环内必须是 $tablenam 而不是 tablenam。检查更新的答案。

以上是关于string SQL="select * from where "+searchtype+" like '%"+searchkey+"%的主要内容,如果未能解决你的问题,请参考以下文章

Mybatis常用工具类-- SQL

出现错误 在执行 DB2 EXPORT IXF 时处理 Action String 参数中的 SELECT 字符串时发生 SQL 错误“-204”?

Mybatis映射器select

HQL语句只查询一个字段返回啥值比如 Select name from PO;

sql语句的拼接问题,前端传递过来的字符串我们怎么拼接?

mybatis mapper.xml中如何表示字符串