經(jīng)常使用MYSQL,收集一些常用的函數(shù)來應付不給力的記性~
1.FIND_IN_SET
- FIND_IN_SET(str,strlist)
假如字符串str 在由N 子鏈組成的字符串列表strlist 中,則返回值的范圍在 1 到 N 之間。一個字符串列表就是一個由一些被‘,’符號分開的自鏈組成的字符串。如果第一個參數(shù)是一個常數(shù)字符串,而第二個是type SET列,則?? FIND_IN_SET() 函數(shù)被優(yōu)化,使用比特計算。如果str不在strlist 或strlist 為空字符串,則返回值為 0 。如任意一個參數(shù)為NULL,則返回值為 NULL。這個函數(shù)在第一個參數(shù)包含一個逗號(‘,’)時將無法正常運行。
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
用起來很簡單
就以上面我說到的情況來舉例:
以下為引用的內(nèi)容:
select * from article where FIND_IN_SET('4',type)
2.CONCAT
-
CONCAT(str1,str2,…)
一個數(shù)字參數(shù)被轉(zhuǎn)化為與之相等的二進制字符串格式;若要避免這種情況,可使用顯式類型 cast, 例如:
SELECT CONCAT(CAST(int_col AS CHAR), char_col)
MySQL的concat函數(shù)在連接字符串的時候,只要其中一個是NULL,那么將返回NULL
select?concat('11','22',null); ?
2.CONCAT_WS
concat_ws()函數(shù)和concat()都是MySQL字符串處理函數(shù),功能比較類似,但是也所有所區(qū)別,主要是處理的字符串不大一樣
concat_ws()函數(shù), 表示concat with separator,即有分隔符的字符串連接
如連接后以逗號分隔:
mysql> select concat_ws(',','11','22','33'); +-------------------------------+ | concat_ws(',','11','22','33') | +-------------------------------+ | 11,22,33 | +-------------------------------+ 1 row in set (0.00 sec)
和concat不同的是, concat_ws函數(shù)在執(zhí)行的時候,不會因為NULL值而返回NULL
2.LENGTH? 和CHAR_LENGTH
length:?? 是計算字段的長度一個漢字是算三個字符,一個數(shù)字或字母算一個字符
char_length:不管漢字還是數(shù)字或者是字母都算是一個字符
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯(lián)系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
