MySQL字符串常用函數(shù)詳解
MySQL字符串常用函數(shù)
一、獲取
(1)length(str)
? 獲取字符串的長度
(2)char_length(str)
? 獲取字符數(shù)量
(3)locate(sonStr, str) / position(sonStr in str)
? 找到子串第一次出現(xiàn)的位置(從1開始),如
select locate( '23', '12323'); -- 結(jié)果:2
select position('23' in '12323'); -- 結(jié)果:2另外instr也是一樣的,只是參數(shù)與上面顛倒了一下,instr(str, sonStr),如
select instr('12323', '23'); -- 結(jié)果:2
二、大小寫轉(zhuǎn)換
(1) lower(str)
? 轉(zhuǎn)小寫
(2)upper(str)
? 轉(zhuǎn)大寫
三、拼接
(1)concat(s1, s2, . . .)
? 拼接多個字符串
(2)concat_ws(separater, s1, s2, . . . )
? 用分隔符拼接字符串,如
concat_ws('#', 'a', 'b', 'c'); -- 結(jié)果:a#b#c#
四、截取
(1)substring(str, startPosition, len)
? 從startPosition(從1開始)開始向后截取len個字符,如
substring("123", 2, 2); -- 結(jié)果:23
(2)substring_index(str, separater, num)
如果num>0,代表找到第num個separater,截取左側(cè)部分,如
select substring_index('ab、bc、cd、de、ef', '、',2); -- 取第2個頓號之前的部分,結(jié)果:ab、bc
如果num<0,代表找到倒數(shù)第num個separater,截取右側(cè)部分,如
select substring_index('ab、bc、cd、de、ef', '、',-2); -- 取倒數(shù)第2個頓號之后的部分,結(jié)果de、ef
(3)left(str, len)、right(str, len)
? 從最左側(cè)截取len個字符、從最右側(cè)截取len個字符
left("12345", 3); -- 結(jié)果:123
right("12345", 3); -- 結(jié)果:345
五、比較、反轉(zhuǎn)、替換
(1)strcmp(s1, s2)
? 按照字典序進(jìn)行比較,s1 < s2 返回-1,s1=s2 返回0,s1 > s2 返回1
(2)reverse(str)
? 反轉(zhuǎn)字符串
(3)replace(str, a, b)
? 把字符串中的a部分替換成b
select replace('abc33', '3', '$'); -- 結(jié)果:abc$$
六、去空白、填充
(1)trim(str)、ltrim(str)、rtrim(str)
去除兩側(cè)空白、去除左側(cè)空白、去除右側(cè)空白
trim(' a '); -- 結(jié)果:'a'
ltrim(' a '); -- 結(jié)果:'a '
rtrim(' a '); -- 結(jié)果:' a'
(2)lpad(str, size, fillStr)
? 向字符串左側(cè)填充,直到長度等于size
lpad('abc', 5, '#'); -- 結(jié)果:abc##
? rpad(str, size, fillStr)
? 向字符串右側(cè)填充,直到長度等于size
rpad('abc', 5, '#'); -- 結(jié)果:##abc
到此這篇關(guān)于MySQL字符串常用函數(shù)的文章就介紹到這了,更多相關(guān)mysql字符串函數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
VS2019連接MySQL數(shù)據(jù)庫的過程及常見問題總結(jié)
今天想使用VS2019可以配合MySQL一起使用,在配置過程中出現(xiàn)一些錯誤,下面通過本文給大家分享VS2019連接MySQL數(shù)據(jù)庫的過程及常見問題總結(jié),感興趣的朋友跟隨小編一起看看吧2021-11-11
PostgreSQL 正則表達(dá)式 常用函數(shù)的總結(jié)
這篇文章主要介紹了PostgreSQL 正則表達(dá)式 常用函數(shù)的總結(jié)的相關(guān)資料,對那些需要進(jìn)行復(fù)雜數(shù)據(jù)處理的程序來說,正則表達(dá)式無疑是一個非常有用的工具,這里就介紹下如何使用,需要的朋友可以參考下2017-08-08
mysql insert if not exists防止插入重復(fù)記錄的方法
在 MySQL 中,插入(insert)一條記錄很簡單,但是一些特殊應(yīng)用,在插入記錄前,需要檢查這條記錄是否已經(jīng)存在,只有當(dāng)記錄不存在時才執(zhí)行插入操作,本文介紹的就是這個問題的解決方案。2011-04-04
JDBC鏈接mysql插入數(shù)據(jù)后顯示問號的原因及解決辦法
這篇文章主要介紹了JDBC鏈接mysql插入數(shù)據(jù)后顯示問號的原因及解決辦法的相關(guān)資料,需要的朋友可以參考下2016-04-04
MySQL中將逗號分隔的字段轉(zhuǎn)換為多行數(shù)據(jù)的方法
在我們的實(shí)際開發(fā)中,經(jīng)常需要存儲一些字段,它們使用像,?-?等連接符進(jìn)行連接,在查詢過程中,有時需要將這些字段使用連接符分割,然后查詢多條數(shù)據(jù),今天,我們將使用一個實(shí)際的生產(chǎn)場景來詳細(xì)解釋這個解決方案,需要的朋友可以參考下2024-04-04

