日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

like语法 mysql_mysql中like语法拼接4种方式

發布時間:2023/12/20 数据库 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 like语法 mysql_mysql中like语法拼接4种方式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在mysql中,字符串與字符串之間用空格連接相當于拼接,'a' 'b' 'c' 相當于 'abc'

'a'"b"'c'雖然沒用空格,但由于是不同的字符串類型,故也相當于拼接后的'abc'或"abc"

在mysql中,like語法本身為: like? '%str%'

解析:like與后面的字符串之間至少有一個空格,而通配字符串內是沒有空格的(除非你想匹配空格),即%與str之間是沒有空格的

StringBuffer sql = new StringBuffer();

sql.append("select id,command,description,content from message where 1=1");

String?command?= request.getParameter("command");

String?description?= request.getParameter("description");

request.setAttribute("command", command);

request.setAttribute("description", description);

List?paramList?= new ArrayList();

if(command!=null && !"".equals(command.trim())) {

sql.append(" and command=?");

paramList.add(command);

}

if(description!=null && !"".equals(description.trim())) {

方式一:

sql.append(" and description like '%' ? '%'");

paramList.add(description);?//?傳遞的字符串與'%'用空格相連,原3個字符串被mysql自動拼接為一個字符串 '%description%'

方式二:

sql.append(" and description like concat('%',?,'%')");

paramList.add(description);?//?傳遞的字符串與'%'被mysql函數concat將3個字符串參數拼接為一個字符串?'%description%'

方式三:

sql.append(" and description like ?");

paramList.add("%"+description+"%");? // 傳遞的就是3個java字符串用+號拼接(java語法),拼接成1個字符串后再傳遞給mysql語句替換?通配符

//?前3種情況,拼接時傳遞的就是字符串,是字符串就會有引號,而下面這種情況必須手動加引號變成字符串

// (至于加的是單引號還是雙引號,取決于外面用的引號,【單引號內則加雙引號,雙引號內則加單引號,表示在原字符串中嵌入一個字符串進來】)

sql.append(" and description like '%"+ description +"%'");

}

Connection conn = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/demo?useUnicode=true&characterEncoding=UTF-8","root","root");

PreparedStatement?ps?= conn.prepareStatement(sql.toString());

for(int i = 0 ; i < paramList.size(); i++) {

ps.setString(i+1, paramList.get(i));

}

ResultSet rs = ps.executeQuery();

List messageList = new ArrayList();

while(rs.next()) {

Message msg = new Message();

messageList.add(msg);

msg.setId(rs.getString("id"));

msg.setCommand(rs.getString("command"));

msg.setDescription(rs.getString("description"));

msg.setContent(rs.getString("content"));

}

request.setAttribute("messageList", messageList);

request.getRequestDispatcher("/WEB-INF/jsp/back/list.jsp").forward(request, response);

轉自:http://blog.51cto.com/maplebb/2313826

總結

以上是生活随笔為你收集整理的like语法 mysql_mysql中like语法拼接4种方式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。