舉個例子,這是itxxza表中的數(shù)據(jù)
中陽網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)公司從2013年創(chuàng)立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
分割后的運行結(jié)果:
select func_split_string(a,b) result, t.* from itxxza t
執(zhí)行后均為success,則說明我們分割成功,這時再看下itxxzb表中數(shù)據(jù):
具體實現(xiàn)可參考:itxxz.com/mysql/2015/0114/mysql_split.html
mysql的字段是不能再分的
不過對于你這樣的要求,mysql還是有支持的機(jī)制的
字段值用英文逗號分隔,比如‘未分組,VIP會員,廣東客'
查詢時select * from `table_a` where id=20 and find_in_set('未分組', group_name);
因為是原生支持的做法,mysql會對其進(jìn)行優(yōu)化
先把分類全取出來..并隨機(jī)排序.. 取排在第一個分類 例如是 西裝
然后查詢的時候 order by (category='西裝') desc,category 即可實現(xiàn)要求.
select * from (select * from tablename where A='01' order by B asc) a
union all
select * from (select * from tablename where A='02' order by B desc) a
舉例:
原始SQL:
SELECT?PROVINCE_CODE,CITY_CODE,ZONE_CODEFROM?CIV_P_CUST
原始結(jié)果:
拆分SQL:
SELECT?substring(PROVINCE_CODE,1,patindex('%〓%',PROVINCE_CODE)-1)?as?PID,substring(PROVINCE_CODE,patindex('%〓%',PROVINCE_CODE)+1,len(PROVINCE_CODE))?as?PNAME,substring(CITY_CODE,1,patindex('%〓%',CITY_CODE)-1)?as?CID,substring(CITY_CODE,patindex('%〓%',CITY_CODE)+1,len(CITY_CODE))?as?CNAME,substring(ZONE_CODE,1,patindex('%〓%',ZONE_CODE)-1)?as?ZID,substring(ZONE_CODE,patindex('%〓%',ZONE_CODE)+1,len(ZONE_CODE))?as?ZNAMEFROM?CIV_P_CUST
拆分結(jié)果: