如果一個欄位類型text
一格填入數行字,要搜尋結果有234的
123
234
345
456

原本要用LIKE查詢有234用'%\n234\n%'行不通
換成用REGEXP如下 也不行 只能前面有\n 不能前後包\n或\r
SELECT *
FROM `tablename`
WHERE `othersort` REGEXP '\n234\n'

不知道要怎麼查詢

我以前查詢這類是用單行varchar
,123,234,345,456,
然後用LIKE '%,234,%'

這次想說用換行符來做分隔結果也搞不定

不用管換行符號阿! like '%234%' 就好啦! %的意思是任何字元
你把那段TEXT COPY出來, 用NOTEPAD++看看,

打開所有EOL (END OF LINE), 看看有沒有\T \N \R

要知道WINDOWS是\N, LUNIX是\R, MAC是\N\R

或者可能是什麼都沒有

LIKE '3%234%' 不行嗎?
實際需求是 某一商品要在多個分類中同時出現
所以需要有個欄位記錄多個分類id,同一欄位需要寫入這些id,並有分隔符
但我只想單純用LIKE或REGEXP來處理

只like '%234%' 不行
因為是在同一格裡有多行id要匹配
聿王爺 wrote:
如果一個欄位類型te...(恕刪)
我隨意建個table, 如下


找othersort有234


找othersort有234跟123


不知是您要的效果?

聿王爺 wrote:
如果一個欄位類型te...(恕刪)


好像還是不行

如果是查123
會連1234都出現
如果查22會連222都出現
就是說這好像還是模糊搜詢
文章分享
評分
評分
複製連結

今日熱門文章 網友點擊推薦!