请问如何在SQL语句中实现模糊查询?

request.setCharacterEncoding("GBK");

String Tname = request.getParameter("Tname"); // 获取教师工号
Connection conn = null;//声明一个Connection对象,原用来连接数据库。
PreparedStatement pstmt = null;//声明PreparedStatement对象
ResultSet rs = null;//声明一个结果集
try{
// 连接到MySQL数据库中的bank数据库模式
Class.forName("com.mysql.jdbc.Driver");
System.out.println("创建驱动成功!");
//连接数据库
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/_bsy","root","123");
System.out.println("连接数据库成功!");
String sql = "select * from _teacher where Tname=?";//查询的SQL语句
pstmt = conn. prepareStatement(sql);
pstmt.setString(1, Tname);
rs = pstmt.executeQuery();

这是查询Tname中包含 你 的数据
select * from _teacher where Tname like %你%

这是查询Tname中包含 以你开头 的数据
select * from _teacher where Tname like 你%
这是查询Tname中包含 以你结尾 的数据
select * from _teacher where Tname like %你追问

我想问,sql语句的代码应该怎么改?

?% 类似这样?

追答

你试试呀!或者直接拼
String sql = "select * from _teacher where Tname like ‘%“+Tname+”%’";//查询的SQL语句

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答