好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > MySQL 數據庫 like 語句通配符模糊查詢小結

MySQL 數據庫 like 語句通配符模糊查詢小結

熱門標簽:信陽穩定外呼系統運營商 南通自動外呼系統軟件 廣東人工電話機器人 芒果電話機器人自動化 湖南人工外呼系統多少錢 石家莊電商外呼系統 百度地圖圖標標注中心 申請外呼電話線路 日照旅游地圖標注

MySQL 報錯:Parameter index out of range (1 > number of parameters, which is 0)——MySQL 數據庫 like 語句通配符模糊查詢小結

前言 今天在使用MySQL語句執行增刪改查操作時,控制臺報出了以下錯誤:Parameter index out of range (1 > number of parameters, which is 0)。翻譯過來意思就是:查到結果數據為1,真實值應為0,參數越界,產生錯誤。如此也就明確了我們具體出錯的地方——參數,即對于通配符"?"的處理。本文分別對執行普通 SQL 語句以及使用 like 語句進行通配符模糊查詢遇到本錯誤進行了剖析,并給出解決方案。


一、分析 SQL 語句

1、普通 SQL 語句的查詢分析

首先,我們來分析一下我之前使用的 SQL 語句:

String sql = "select count(*) from tab_route where cid = ?";

說明:我們直接使用通配符"?"來代替參數,使用 Spring 框架的 JdbcTemplate 執行增刪改查操作。在這里是沒有任何問題的。

2、普通 SQL 查詢語句如何處理

如果在這里出錯,請按照如下方式進行解決:

檢查通配符"?"的格式,注意是在英文輸入法下輸入,非中文問號;檢查 SQL 語句,使用通配符傳遞的參數是不加引號的,比如下面的就是錯誤的:

String sql = "select count(*) from tab_route where cid = '?'";

3、使用 like 通配符模糊查詢語句分析

同理,我們依舊采用上面的方式進行模糊查詢操作,來看一下出錯的 SQL 語句:

String sql = "select count(*) from tab_route where rname like '%?%';

執行結果報錯Parameter index out of range (1 > number of parameters, which is 0)

結果分析:查到結果數據為1,真實值應為0,參數越界,產生錯誤。

我們明確如下語句是沒有任何問題的:

String sql = select * from tab_route where rname like '%張%';

如此也就明確了我們具體出錯的地方——參數,即對于 like 語句中通配符"?"的處理。

二、like 語句使用通配符模糊查詢剖析

1、like 語句的應用場景

使用 like 通配符進行模糊查詢是我們在項目中常遇到的,比如在搜索框中對于數據的模糊查詢。

2、模糊查詢剖析

在 SQL 語句中無法直接對'%?%'進行解析,所以我們需要對連接的字符串進行處理,使用動態拼接concat()方法將'%?%'中的內容進行連接,然后再執行增刪改查操作。

concat(str1,str2,str3...)會生成一個新的字符串

3、正確語句

String sql = "select count(*) from tab_route where rname like concat('%',?,'%')";

三、MyBatis like 模糊查詢及關鍵字區分

在 MyBatis 中使用 like 模糊查詢,應注意關鍵字為:#{str},查詢子句為:

select * from table where name like concat('%',#{name},'%');

而如果添加排序字段,應注意關鍵字為:${str},查詢子句為:

select * from table where name like concat('%',#{name},'%') order by ${id};

總結 本文分別對執行普通 SQL 語句以及使用 like 語句進行通配符模糊查詢遇到錯誤進行了剖析,并給出相應解決方案。同時補充了在 MyBatis 中對模糊查詢的操作以及不同關鍵字的區分。代碼之路漫漫,望諸君細致。

到此這篇關于MySQL 數據庫 like 語句通配符模糊查詢小結的文章就介紹到這了,更多相關MySQL 模糊查詢like內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • MySQL查詢重寫插件的使用
  • 一篇文章弄懂MySQL查詢語句的執行過程
  • Python使用sql語句對mysql數據庫多條件模糊查詢的思路詳解
  • 淺談pymysql查詢語句中帶有in時傳遞參數的問題
  • MySQL模糊查詢語句整理集合
  • mysql語句查詢用戶權限過程詳解
  • MySQL常用SQL語句總結包含復雜SQL查詢
  • SQL語句執行深入講解(MySQL架構總覽->查詢執行流程->SQL解析順序)
  • MySQL 重寫查詢語句的三種策略

標簽:公主嶺 沈陽 惠州 天津 呼和浩特 阿里 合肥 牡丹江

巨人網絡通訊聲明:本文標題《MySQL 數據庫 like 語句通配符模糊查詢小結》,本文關鍵詞  MySQL,數據庫,like,語句,通配符,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL 數據庫 like 語句通配符模糊查詢小結》相關的同類信息!
  • 本頁收集關于MySQL 數據庫 like 語句通配符模糊查詢小結的相關信息資訊供網民參考!
  • 推薦文章