首頁 > 運維 > linux運維 > MYSQL之巧用字元函數做資料篩選

MYSQL之巧用字元函數做資料篩選

小云云
發布: 2018-01-24 13:36:34
原創
2065 人瀏覽過

本文主要介紹了MYSQL 一個巧用字元函數做資料篩選的題,需要的朋友可以參考下,希望能幫助到大家。

問題描述:

結構:

test 有兩個字段,
分別是col1和col2,都是字元字段,
裡面的內容都是用,號分隔的三個數字,並且是一一對應的,

比如col1內容是:26,59,6
col2內容是:1502.5,1690,2276.77
一一對應就是26的值是1502.5,59是1690,6對應2276.77


搜尋條件:

選擇一個id,比如選擇59,再輸入一個數字,例如:2000
然後就是搜尋col1中存在id=59的記錄,然後搜尋col2小於2000,即1690<2000

範例:

如有以下三筆記錄,搜尋id為59,值小於2000的記錄:

26,59,6 | 1502.5,1690,2276.77
59,33,6 | 3502.1,1020,2276.77
22,8,59 |1333. 2900,1520.77

搜尋到這三個記錄存在id為59,之後判斷第二個搜尋條件應為(即用對應id位置的數字對比):

1690<2000
3502.1>2000
1520.77<2000


drop table test; 
create table test ( col1 varchar(100),col2 varchar(100)); 
insert test select 
&#39;26,59,6&#39;, &#39;1502.5,1690,2276.77&#39; union all select 
&#39;59,33,6&#39;, &#39;3502.1,1020,2276.77&#39; union all select 
&#39;22,8,59&#39;, &#39;1332.6,2900,1520.77&#39;; 
select col1,col2 
from (select *,find_in_set(&#39;59&#39;,col1) as rn from test) k 
where substring_index(concat(&#39;,&#39;,substring_index(col2,&#39;,&#39;,rn)),&#39;,&#39;,-1) 
 <&#39;2000&#39;;
登入後複製

+---------+---------- -----------+

| col1    | col2                |

##+---------+---------- -----------+

| 26,59,6 | 1502.5,1690,2276.77 |

| 22,8,59 | 1332.6,2900,1520.77 |

+---------+---------------------+

相關推薦:

php替換字串中的一些字元函數str_ireplace()

php從指定ASCII值傳回字元函數chr()

MySQL資料庫之字元函數詳解

以上是MYSQL之巧用字元函數做資料篩選的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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