首頁 > 資料庫 > mysql教程 > 如何找到其值包含在給定文字字串中的 MySQL 行?

如何找到其值包含在給定文字字串中的 MySQL 行?

Patricia Arquette
發布: 2025-01-05 17:45:41
原創
457 人瀏覽過

How Can I Find MySQL Rows Whose Values Are Contained Within a Given Text String?

在 MySQL 中尋找查詢文字中包含的行值

MySQL 的 LIKE 運算子擅長尋找包含指定查詢文字的行。考慮這個例子:

SELECT name FROM user WHERE name LIKE "%john%"
登入後複製

像 John Smith 和 Peter Johnson 這樣的行將會傳回。

但是如果我們尋找相反的行,其值存在於查詢文字中呢?例如,提供“John Smith 和 Peter Johnson 是最好的朋友”並從該字串中存在的表中查找所有名字。我們怎樣才能做到這一點?

反向LIKE 操作

要執行此反向LIKE 操作,利用CONCAT() 函數是關鍵:

SELECT name FROM user 
WHERE 'John Smith and Peter Johnson are best friends' LIKE
  CONCAT('%', name, '%')
登入後複製

CONCAT()函數連接字串,在本例中,將每一行的名稱用百分號(「%」)括起來。這允許 LIKE 運算子檢查整個查詢文字是否包含每個名稱。

例如,如果用戶表包含“John”和“Peter”名稱,則查詢將返回:

| name |
| --- |
| John |
| Peter |
登入後複製

該技術有效地識別與特定文本匹配的行,顛覆了傳統的LIKE 行為。

以上是如何找到其值包含在給定文字字串中的 MySQL 行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板