mysql查詢怎樣智慧分割字串

2022-05-11 14:37:39 字數 4740 閱讀 2022

1樓:程式nm的猿

最簡單了 ~ ~。

select * from news where content like 『%厲害了%』

or content like 『%我的哥%』

2樓:匿名使用者

如果你是要把,號的內容分開,可以使用

select left(content,locate(',',content)-1) as con1 ,substr(content, locate(',',content)+1) as con2 from news

如果是要把「到底誰厲害了,是我的哥嗎?」和「厲害了和我的哥「2個內容分開,可以這樣

select * from news where content like 『%厲害了%我的哥%』and content not like '%厲害了和我的哥%'

3樓:

select * , substring(content,charindex(n'厲害了',content),3) as [厲害了] from news where content like %厲害了%我的哥%』

select * , substring(content,charindex('我的哥',content),3) as [我的哥] from news where content like %厲害了%我的哥%』

4樓:

這個要用到分詞技術了,參考:http://www.

thinkphp.cn/code/926.html,但這不是嚴格的分詞,現有php的分詞外掛擴充套件你找一下,不過那東西很龐大,要根椐你專案的情況取捨

mysql的查詢中怎麼擷取字串?

5樓:說太多不如沉黙

要視情況而定,不同的要求有不同的擷取辦法。

可分為從左往右擷取,從右往左擷取,從第幾位擷取,關鍵字擷取。步驟如下。

具體步驟如下:

從左開始擷取字串

left(str, length)

說明:left(被擷取欄位,擷取長度)

例:select left(content,200) as abstract from my_content_t

從右開始擷取字串

right(str, length)

說明:right(被擷取欄位,擷取長度)

例:select right(content,200) as abstract from my_content_t

擷取字串

substring(str, pos)

substring(str, pos, length)

說明:substring(被擷取欄位,從第幾位開始擷取)

substring(被擷取欄位,從第幾位開始擷取,擷取長度)

例:select substring(content,5) as abstract from my_content_t

select substring(content,5,200) as abstract from my_content_t

(注:如果位數是負數 如-5 則是從後倒數位數,到字串結束或擷取的長度)

按關鍵字擷取字串

substring_index(str,delim,count)

說明:substring_index(被擷取欄位,關鍵字,關鍵字出現的次數)

例:select substring_index(」blog.chinabyte.com」,」。」,2) as abstract from my_content_t

結果:blog.chinabyte

(注:如果關鍵字出現的次數是負數 如-2 則是從後倒數,到字串結束)

結果:chinabyte.com

擷取的字串為15,151,152,16』,可以看作是ip吧(雖然這裡指的不是ip),

然後要擷取每個逗號之前那部分。

mysql 以逗號分開的字串組怎麼查詢

6樓:匿名使用者

select left(name,charindex(',',name)-1)

from 表

逗號前就是逗號左邊了、left函式

取指定欄位某位置左邊的字串、

charindex(',',name)-1指定某欄位中逗號開始的位置,-1是去除『,』本身的位置

mysql

select substring_index(name,',',1)from 表

擷取欄位值裡第一個逗號左邊的全部字串

mysql怎麼將查詢到的一列資料合併成一個字串返回來,用「;」分割,如(張三;李四) 50

7樓:

使用group_concat函式。

select group_concat(查詢的欄位 separator ';') from table

mysql的查詢中怎麼擷取字串

8樓:說太多不如沉黙

要視情況而定,不同的要求有不同的擷取辦法。

可分為從左往右擷取,從右往左擷取,從第幾位擷取,關鍵字擷取。步驟如下。

具體步驟如下:

從左開始擷取字串

left(str, length)

說明:left(被擷取欄位,擷取長度)

例:select left(content,200) as abstract from my_content_t

從右開始擷取字串

right(str, length)

說明:right(被擷取欄位,擷取長度)

例:select right(content,200) as abstract from my_content_t

擷取字串

substring(str, pos)

substring(str, pos, length)

說明:substring(被擷取欄位,從第幾位開始擷取)

substring(被擷取欄位,從第幾位開始擷取,擷取長度)

例:select substring(content,5) as abstract from my_content_t

select substring(content,5,200) as abstract from my_content_t

(注:如果位數是負數 如-5 則是從後倒數位數,到字串結束或擷取的長度)

按關鍵字擷取字串

substring_index(str,delim,count)

說明:substring_index(被擷取欄位,關鍵字,關鍵字出現的次數)

例:select substring_index(」blog.chinabyte.com」,」。」,2) as abstract from my_content_t

結果:blog.chinabyte

(注:如果關鍵字出現的次數是負數 如-2 則是從後倒數,到字串結束)

結果:chinabyte.com

擷取的字串為15,151,152,16』,可以看作是ip吧(雖然這裡指的不是ip),

然後要擷取每個逗號之前那部分。

9樓:運動一圈

1、從左開始擷取字串

left(str, length)

說明:left(被擷取欄位,擷取長度)

例:select left(content,200) as abstract from my_content_t

2、從右開始擷取字串

right(str, length)

說明:right(被擷取欄位,擷取長度)

例:select right(content,200) as abstract from my_content_t

3、擷取字串

substring(str, pos)

substring(str, pos, length)

說明:substring(被擷取欄位,從第幾位開始擷取)

substring(被擷取欄位,從第幾位開始擷取,擷取長度)

例:select substring(content,5) as abstract from my_content_t

select substring(content,5,200) as abstract from my_content_t

(注:如果位數是負數 如-5 則是從後倒數位數,到字串結束或擷取的長度)

4、按關鍵字擷取字串

substring_index(str,delim,count)

說明:substring_index(被擷取欄位,關鍵字,關鍵字出現的次數)

例:select substring_index(」blog.chinabyte.com」,」。」,2) as abstract from my_content_t

結果:blog.chinabyte

(注:如果關鍵字出現的次數是負數 如-2 則是從後倒數,到字串結束)

結果:chinabyte.com

擷取的字串為15,151,152,16』,可以看作是ip吧(雖然這裡指的不是ip),

然後要擷取每個逗號之前那部分

10樓:匿名使用者

你改成這樣:

select 車輛型號 from `hsw_201701_skkpcx where skkpcx_bz like '%03badbg%'

說明:* 號預設查詢符合條件的行的所有欄位

mysql分頁問題,mysql分頁查詢問題

因為card表總共有11條記錄,count 出來就是11了count是針對符合where條件的記錄進行的,是不考慮limit的如果想計算select from table where.limit 0,10返回多少條記錄,需要這樣寫 select count from select from tabl...

MySql怎麼查詢前10條資料mysql如何查詢各年的前10條記錄

mysql沒有select top的語法,你得用用limit select from 表名 limit m,n 從m開始,取n條 select from 你的表名 order by 你的欄位 limit 10select from 你的表名 order by 你的欄位 limit 10select ...

MYSQL查詢DATE FORMAT是否會影響查詢速度?有沒有別的方式代替

mysql select something from tablewhere to days now to days date col 30 dayofweek date 返回日期date的星期索引 1 星期天,2 星期一,7 星期六 這些索引值對應於odbc標準。後臺處理 format 或者用su...