Java 在SQL查询中使用%
这是我的问题。我设计数据库的方式使我必须在查询中Java 在SQL查询中使用%,java,sql,Java,Sql,这是我的问题。我设计数据库的方式使我必须在查询中%。如果我在sqldeveloper上执行这个查询,那么它可以正常工作。但是,当我在放入JSP文件的Java代码中执行此操作时,会出现以下错误: 标记“%”上的语法错误,表达式无效 我做错了什么?如何修复它?我对JSP不在行,但是如果您想将它用作SQL通配符,%不应该是查询字符串的一部分吗 SELECT MAX(sm_version) AS version_latest, user_type AS role_perfor
%
。如果我在sqldeveloper上执行这个查询,那么它可以正常工作。但是,当我在放入JSP文件的Java代码中执行此操作时,会出现以下错误:
标记“%”上的语法错误,表达式无效
我做错了什么?如何修复它?我对JSP不在行,但是如果您想将它用作SQL通配符,
%
不应该是查询字符串的一部分吗
SELECT MAX(sm_version) AS version_latest,
user_type AS role_performed
FROM usage_database
WHERE user_id LIKE ( '"+%eid_upper+"' )
OR user_id LIKE ( '"+eid_lower+"' )
GROUP BY user_type
WHERE user_id LIKE ( '%"+eid_upper+"' )
编辑:关于SQL注入的常见注释,yada-yada-yada我对JSP不在行,但是如果您想将
%
用作SQL通配符,它不应该是查询字符串的一部分吗
WHERE user_id LIKE ( '%"+eid_upper+"' )
编辑:关于SQL注入的常见注释,yada-yada-yada使用准备好的语句和绑定变量
WHERE user_id LIKE ( '%"+eid_upper+"' )
使用准备好的语句和绑定变量
WHERE user_id LIKE ( '%"+eid_upper+"' )
不要使用字符串连接来生成查询!不要使用字符串连接来生成查询!想想看,您还必须在
eid_upper
中转义特殊匹配字符(如%和)。想想看,您还必须在eid_upper
@user563577中转义特殊匹配字符(如%和)。这个答案不值得“接受”。第一,弗雷德是第一,第二,答案是terribleBrown:你可以删除它。甚至可能有一个徽章(删除已接受的答案);-)@user563577此答案不值得“接受”。第一,弗雷德是第一,第二,答案是terribleBrown:你可以删除它。甚至可能有一个徽章(删除已接受的答案);-)只有OP可以更改接受的答案。你必须等到他回来(如果他回来的话)。只有OP可以更改被接受的答案。你得等到他回来(如果他回来的话)。