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

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