台灣最大程式設計社群網站
線上人數
1007
 
會員總數:240890
討論主題:186656
歡迎您免費加入會員
討論區列表 >> MySQL >> 如何搜尋含有特定文字的資料
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
如何搜尋含有特定文字的資料
價值 : 5 QP  點閱數:304 回應數:10

樓主

wash456123
門外漢
0 1
12 4
發送站內信

我想要做搜尋某些特定英文字母為開頭的資料
下的語法是
SELECT * FROM 資料表 WHERE 欄位 LIKE '[特定字母如:ABCD]%'
但是這樣下卻找不到資料
查了一下好像是不能用[]
那請問要怎樣才能做到像[]的功能一樣

搜尋相關Tags的文章: [ My SQL ] , [ LIKE語法 ] , [ 萬用字元 ] ,
本篇文章發表於2017-06-22 19:09
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

小魚
檢舉此回應
如果你的字串包含 [ 跟 ]
請這樣子


本篇文章回覆於2017-06-22 19:15
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

wash456123
檢舉此回應
回一樓
還是沒辦法抓到資料
本篇文章回覆於2017-06-22 21:03
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

小魚
檢舉此回應
你的是MySql嗎?我的MySql可以耶,
還是其實你的開頭不是[abcd] ?
前面再加%看看...
看你要不要貼幾筆資料上來看一下?
本篇文章回覆於2017-06-22 21:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

wash456123
檢舉此回應
我是在phpmyadmin裡面的SQL那邊下語法的

我的資料是
apple
bed
cat
dog

用LIKE 'a%'或是用'b%'這些只有%的語法可以找到資料
但是用[]就不行
本篇文章回覆於2017-06-22 21:32
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

小魚
檢舉此回應
如果你的資料是這樣,當然不能用[]啊,
我不知道你去哪裡看來的?
你想要做什麼樣的搜尋?
本篇文章回覆於2017-06-22 21:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

wash456123
檢舉此回應
我看到的是說'[abcd]e' 是表示ae,be,ce,de這樣的意思

我想做的搜尋是輸入一個字串如abc
然後要找到開頭是a以及開頭是b和開頭是c的資料
本篇文章回覆於2017-06-22 22:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

小魚
檢舉此回應
我有找到一篇
SQL模糊搜尋
不過看到[name]就知道這是MS-SQL的語法,
不是MySql的語法,
每種資料庫的語法都不大一樣,
MySql目前還是只有看到 % 跟 _,
不過你要找abcd應該是可以用Regex語法找吧。
本篇文章回覆於2017-06-22 22:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
最有價值解答

小魚
檢舉此回應
找到一種方式了,
真的每個地方的Regex用法都有點不大一樣,


本篇文章回覆於2017-06-22 23:05
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

wash456123
檢舉此回應
感謝大大
查了一下Regex的用法後終於解決了

WHERE 欄位 REGEXP '^[abcd]'
這樣就可以找到資料了
本篇文章回覆於2017-06-22 23:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

小魚
檢舉此回應
恩恩,這樣子也是可以,總之比較特別的字串需要用到Regex,
Regex裡面也很多學問,
需要經驗的累積。
本篇文章回覆於2017-06-23 00:00
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.