最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL切分函數(shù)substring()的具體使用

 更新時(shí)間:2021年02月08日 09:48:21   作者:_陳哈哈  
這篇文章主要介紹了MySQL切分函數(shù)substring()的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

  MySQL字符串截取函數(shù)主要有:left(), right(), substring(), substring_index() 四種。各有其使用場(chǎng)景。今天,讓我?guī)Т蠹一◣追昼姇r(shí)間來(lái)熟知它們,Mark!

聲明一下:在MySQL中,下標(biāo)索引是從1開(kāi)始的,而不是像java中從0開(kāi)始的喔!

在這里插入圖片描述

一、LEFT() 函數(shù)

  LEFT(string,length) ,從字符串string左邊第一位開(kāi)始,截取長(zhǎng)度為length個(gè)字符。length應(yīng)大于0,如<=0,返回空字符串。示例如下:

mysql> SELECT LEFT('www.csdn.net',5) from web_info w;
+------------------+
| LEFT('www.csdn.net',5) |
+------------------+
| www.c   |
+------------------+
1 row in set (0.00 sec)

二、RIGHT() 函數(shù)

  LEFT(string,length) ,從字符串string右邊第一位開(kāi)始,截取長(zhǎng)度為length個(gè)字符,仍然是正向順序截取。length應(yīng)大于0,如<=0,返回空字符串。

mysql> SELECT RIGHT('www.csdn.net',5) from web_info w;
+-------------------------+
| RIGHT('www.csdn.net',5) |
+-------------------------+
| n.net     |
+-------------------------+
1 row in set (0.00 sec)

三、SUBSTRING() 函數(shù)

substring()是專(zhuān)門(mén)用來(lái)對(duì)字符串進(jìn)行切分的函數(shù),主要有兩種形式:

  • SUBSTRING(string,position);
  • SUBSTRING(string,position,length);

以下是上述兩類(lèi)語(yǔ)句的SQL標(biāo)準(zhǔn)版本寫(xiě)法,意義相同,它更長(zhǎng),但更具表現(xiàn)力。

SUBSTRING(string FROM position);
SUBSTRING(string FROM position FOR length);

下面讓我們來(lái)一起看一下SUBSTRING()的兩種用法示例;

1.SUBSTRING(string,position)

  • string:參數(shù)是要操作的字符串。
  • position: 參數(shù)是一個(gè)"整數(shù)",用于指定子串的起始字符,position可以是正整數(shù)或負(fù)整數(shù)。若position大于操作字符串的長(zhǎng)度,則返回空字符串。

例如,從“www.csdn.net”字符串中獲取子字符串:“csdn.net”,子串的位置必須從5開(kāi)始,如以下SELECT語(yǔ)句:

mysql> SELECT substring('www.csdn.net',5) from web_info w;
+-----------------------------+
| substring('www.csdn.net',5) |
+-----------------------------+
| csdn.net     |
+-----------------------------+
1 row in set (0.00 sec)

2.SUBSTRING(string,position,length)

  除了string和position參數(shù)之外,SUBSTRING函數(shù)還有一個(gè)length參數(shù)。length是一個(gè)正整數(shù),用于指定子字符串的字符數(shù)。如果length<=0,那么會(huì)返回空字符串。

例如,獲取www.csdn.net中的csdn,SQL如下:

mysql> SELECT substring('www.csdn.net',5,4) from web_info w;
+-------------------------------+
| substring('www.csdn.net',5,4) |
+-------------------------------+
| csdn       |
+-------------------------------+
1 row in set (0.00 sec)

或者通過(guò)配置position,從后往前數(shù);SQL如下:

mysql> SELECT substring('www.csdn.net',-8,4) from web_info w;
+--------------------------------+
| substring('www.csdn.net',-8,4) |
+--------------------------------+
| csdn       |
+--------------------------------+
1 row in set (0.00 sec)

又或者通過(guò)SQL標(biāo)準(zhǔn)方式來(lái)寫(xiě),SQL如下:

mysql> SELECT substring('www.csdn.net' FROM 5 FOR 4) from web_info w;
+----------------------------------------+
| substring('www.csdn.net' FROM 5 FOR 4) |
+----------------------------------------+
| csdn         |
+----------------------------------------+
1 row in set (0.00 sec)

另外,MySQL中的 mid(), substr() 等價(jià)于 substring() 函數(shù)哦!

四、SUBSTRING_INDEX() 函數(shù)

  SUBSTRING_INDEX(str,delim,count),是一個(gè)通過(guò)特定標(biāo)識(shí)符"delim"來(lái)截取子串的函數(shù),我們?nèi)粘J褂妙l率是很高的;

  • delim:通過(guò)該標(biāo)識(shí)符來(lái)進(jìn)行截取的,delim可以為任意字符,不要為空;
  • count:代表第幾次出現(xiàn);count為正數(shù),代表取標(biāo)識(shí)符出現(xiàn)第count次之前的子串;負(fù)數(shù)則相反,取標(biāo)識(shí)符出現(xiàn)第count次之后的子串。

例如:‘www.csdn.net',獲取第一次出現(xiàn)標(biāo)識(shí)符'.'前面的子串,SQL如下;

mysql> SELECT SUBSTRING_INDEX('www.csdn.net','.',1) from web_info w;
+---------------------------------------+
| SUBSTRING_INDEX('www.csdn.net','.',1) |
+---------------------------------------+
| www         |
+---------------------------------------+
1 row in set (0.00 sec)

獲取第一次出現(xiàn)標(biāo)識(shí)符'.'后面的子串,SQL如下;

mysql> SELECT SUBSTRING_INDEX('www.csdn.net','.',-2) from web_info w;
+----------------------------------------+
| SUBSTRING_INDEX('www.csdn.net','.',-2) |
+----------------------------------------+
| csdn.net        |
+----------------------------------------+
1 row in set (0.00 sec)

想獲取兩個(gè)'.'中間的呢?可以嵌套一下,SQL如下;

mysql> SELECT SUBSTRING_INDEX(substring_index('www.csdn.net','.',2),'.',-1) from web_info w;
+---------------------------------------------------------------+
| SUBSTRING_INDEX(substring_index('www.csdn.net','.',2),'.',-1) |
+---------------------------------------------------------------+
| csdn               |
+---------------------------------------------------------------+
1 row in set (0.00 sec)

在這里插入圖片描述

五、實(shí)戰(zhàn)操作

我們以表web_info為測(cè)試表,數(shù)據(jù)如下;

mysql> select * from web_info;
+------+--------+----------------+---------------------+
| w_id | w_name | w_domain  | pub_time   |
+------+--------+----------------+---------------------+
| 1 | CSDN | www.csdn.net | 2020-09-03 11:29:29 |
| 5 | 百度 | www.baidu.com | 2020-09-18 14:37:38 |
| 6 | 淘寶 | www.taobao.com | 2020-09-03 14:37:57 |
+------+--------+----------------+---------------------+
3 rows in set (0.00 sec)

需求1:獲取web_info數(shù)據(jù)的一級(jí)域名;
注:這里僅用于舉例說(shuō)明,與實(shí)際會(huì)有些出入,如.com.cn那種多級(jí)后綴就需另外處理。

mysql> SELECT SUBSTRING_INDEX(w_domain,'.',-2),w.* from web_info w;
+----------------------------------+------+--------+----------------+---------------------+
| SUBSTRING_INDEX(w_domain,'.',-2) | w_id | w_name | w_domain  | pub_time   |
+----------------------------------+------+--------+----------------+---------------------+
| csdn.net       | 1 | CSDN | www.csdn.net | 2020-09-03 11:29:29 |
| baidu.com      | 5 | 百度 | www.baidu.com | 2020-09-18 14:37:38 |
| taobao.com      | 6 | 淘寶 | www.taobao.com | 2020-09-03 14:37:57 |
+----------------------------------+------+--------+----------------+---------------------+
3 rows in set (0.00 sec)

需求2:把w_domain字段數(shù)據(jù)都改成一級(jí)域名;

update web_info set w_domain = SUBSTRING_INDEX(w_domain,'.',-2) ;

修改后查詢(xún):

mysql> SELECT * from web_info;
+------+--------+------------+---------------------+
| w_id | w_name | w_domain | pub_time   |
+------+--------+------------+---------------------+
| 1 | CSDN | csdn.net | 2020-09-03 14:54:59 |
| 5 | 百度 | baidu.com | 2020-09-03 14:54:59 |
| 6 | 淘寶 | taobao.com | 2020-09-03 14:54:59 |
+------+--------+------------+---------------------+
3 rows in set (0.00 sec)

好了,MySQL的字符串切分函數(shù)今天就說(shuō)到這兒,如果對(duì)小伙伴兒有用,請(qǐng)不要白嫖哦~~

到此這篇關(guān)于MySQL切分函數(shù)substring()的具體使用的文章就介紹到這了,更多相關(guān)MySQL切分函數(shù)substring內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql decimal類(lèi)型判斷是否為0

    mysql decimal類(lèi)型判斷是否為0

    在MySQL中,DECIMAL是一種用于存儲(chǔ)精確小數(shù)的數(shù)據(jù)類(lèi)型,本文主要介紹了mysql decimal類(lèi)型判斷是否為0,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-02-02
  • MySQL9.0(innovation)安裝及配置詳細(xì)教程

    MySQL9.0(innovation)安裝及配置詳細(xì)教程

    MySQL對(duì)于開(kāi)發(fā)者來(lái)說(shuō),不但體積小,速度也很可觀(guān),最最重要的是開(kāi)源,所以非常受開(kāi)發(fā)者們的歡迎,這篇文章主要給大家介紹了關(guān)于MySQL9.0(innovation)安裝及配置的詳細(xì)教程,需要的朋友可以參考下
    2024-08-08
  • 干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本(推薦)

    干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本(推薦)

    這篇文章主要介紹了干掉一堆mysql數(shù)據(jù)庫(kù),僅需這樣一個(gè)shell腳本,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • MySQL數(shù)據(jù)實(shí)時(shí)同步到MongoDB的實(shí)踐分享

    MySQL數(shù)據(jù)實(shí)時(shí)同步到MongoDB的實(shí)踐分享

    很多 DBA 同學(xué)經(jīng)常會(huì)遇到要從一個(gè)數(shù)據(jù)庫(kù)實(shí)時(shí)同步到另一個(gè)數(shù)據(jù)庫(kù)的問(wèn)題,同構(gòu)數(shù)據(jù)還相對(duì)容易,遇上異構(gòu)數(shù)據(jù)、表多、數(shù)據(jù)量大等情況就難以同步,我自己親測(cè)了一種方式可以實(shí)現(xiàn)MySQL數(shù)據(jù)實(shí)時(shí)同步到MongoDB,跟大家分享一下,希望對(duì)你有幫助
    2024-01-01
  • MySQL表中添加數(shù)據(jù)的方法

    MySQL表中添加數(shù)據(jù)的方法

    這篇文章主要介紹了MySQL表中添加數(shù)據(jù)的方法,本文通過(guò)sql語(yǔ)句給大家詳細(xì)講解,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-11-11
  • 深入探究MySQL事務(wù)實(shí)現(xiàn)原理

    深入探究MySQL事務(wù)實(shí)現(xiàn)原理

    數(shù)據(jù)庫(kù)事務(wù)是指一組數(shù)據(jù)庫(kù)操作,這些操作必須被視為一個(gè)不可分割的單元,要么全部執(zhí)行成功,要么全部失敗回滾,本文詳細(xì)的給大家介紹了MySQL事務(wù)的實(shí)現(xiàn)原理,對(duì)我們學(xué)習(xí)MySQL有一定的幫助,感興趣的同學(xué)可以跟著小編一起來(lái)探究
    2023-06-06
  • mysql 5.7如何安裝 mysql 5.7安裝配置教程

    mysql 5.7如何安裝 mysql 5.7安裝配置教程

    這篇文章主要為大家詳細(xì)介紹了MySQL 5.7安裝配置方法,安裝過(guò)程中出現(xiàn)問(wèn)題的解決方案,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Mysql提權(quán)的多種姿勢(shì)匯總

    Mysql提權(quán)的多種姿勢(shì)匯總

    這篇文章主要給大家介紹了關(guān)于Mysql提權(quán)的多種姿勢(shì),姿勢(shì)包括寫(xiě)入Webshell、UDF提權(quán)以及MOF提權(quán),文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2021-08-08
  • MySQL中Innodb的事務(wù)隔離級(jí)別和鎖的關(guān)系的講解教程

    MySQL中Innodb的事務(wù)隔離級(jí)別和鎖的關(guān)系的講解教程

    這篇文章主要介紹了MySQL中Innodb的事務(wù)隔離級(jí)別和鎖的關(guān)系講解教程,來(lái)自于美團(tuán)技術(shù)團(tuán)隊(duì)的經(jīng)驗(yàn)實(shí)際經(jīng)驗(yàn)分享,需要的朋友可以參考下
    2015-11-11
  • mysql5.7及mysql 8.0版本修改root密碼的方法小結(jié)

    mysql5.7及mysql 8.0版本修改root密碼的方法小結(jié)

    這篇文章主要介紹了mysql5.7及mysql 8.0版本修改root密碼方式 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-11-11

最新評(píng)論

张掖市| 巴彦淖尔市| 华安县| 图木舒克市| 独山县| 洛阳市| 合山市| 灵川县| 五华县| 永平县| 延川县| 志丹县| 林芝县| 靖西县| 弥勒县| 建水县| 惠州市| 太湖县| 扎鲁特旗| 桐柏县| 濮阳县| 瓦房店市| 公主岭市| 青田县| 讷河市| 什邡市| 安义县| 南和县| 沅陵县| 沿河| 资兴市| 香港| 毕节市| 孝义市| 常德市| 南召县| 比如县| 鸡泽县| 瑞金市| 钦州市| 乡城县|