mysql關於字串的函式

2021-10-09 22:19:34 字數 1908 閱讀 7149

1字串擷取

1-1 left/rigth

​ left/right(str, length)

select left("tiduyun.com",4); #擷取左邊前4個

select right("tiduyun.com",7); #擷取右邊前7個

1-2 substring 根據下標擷取

mid()、substr()== substring()

select substring("tiduyun.com",5,3) #從第5個字元開始擷取3個

select substring("tiduyun",3); #從第三個後開始擷取剩下的所有

1-3substring_index 根據特定字元擷取
select substring_index("www.tiduyun.com",'.',2); #擷取第2個u之前的所有字元
2字串拼接

1concat函式拼接

#任意連線的字串為null,則連線後返回的結果也為null

select concat_ws('-','2020','9','30'); #字串間增加特定符號

#任意連線的字串為null,則連線後返回的結果不為null

特殊拼接函式 group_concat() 如果你要按照指定字段分組拼接 ,要配合 group by使用

select parent_content_id,group_concat(name) as targetsname

from assess_content

group by parent_content_id; #將同乙個父級的考核指標用','拼接起來 統一展示

3字串替換

3-1 replace(str,old_string,new_string);

如果第二個引數old_string不存在,則不處理。

select replace("134-1452-5754",'-',''); # 返回 13414525754
3-2 insert( s1,x,len,s2 )

從第x個字串起用len長的s2 替換;

select insert("tiduyun.com",5,3,'niubi'); # 返回結果tiduniubi.com
4字串是否含於另一字串

4-1 like

like有兩個模式:_和%

_代表單個字元; %代表多個字元

select * from assess_target where name like '%k';
4-2 locate/ position in
select * from assess_target where locate('事件',name);

select * from assess_target where position('事件' in name);

4-3 regexp

正規表示式; regexp 後面的 是乙個正規表示式

regexp可使用正則自由定製 定位符號^$

如果要區分大小寫,應該使用binary關鍵字,如where *** regexp binary 『hello.000』

select * from assess_target where name regexp '事件';
5字串逆序
select reverse("lgdnb");
6字串大小寫轉換
select lower("lgdnb");

select upper("lgdnb");

關於MYSQL字串

字串是多個字元組成的乙個字串行,由單引號 或雙引號 字元包圍。但在 ansi 模式中執行時只能用單引號 例如 a string another string 在乙個字串中,如果某個序列具有特殊的含義,每個序列以反斜線符號 開頭,稱為轉義字元。mysql 識別下列轉義字元 0 乙個 ascii 0 n...

關於字串的函式

關於字串的操作函式有很多,那麼在眾多的函式中是否有乙個共通的地方。下面簡略分析一下。目前,我在學習中碰到的字串操作函式有 strlen,strcat,strcpy,strcmp 那麼我們按照上面的順序一一介紹一下。1.strlen strlen 是求取字串長度的函式 其原型為 size t strl...

mysql字串邊界 mysql字串函式

mysql 字串擷取函式 ord cast left right substring substring index mid substr 其中,mid substr 等價於substring 函式,substring 的功能非常強大和靈活。ord 用於返回字串第乙個字元的ascii碼。cast 1...