婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > MySQL切分函數substring()的具體使用

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

熱門標簽:怎樣在地圖標注銷售區域 啥是企業400電話辦理 地圖標注費用是多少 武漢網絡外呼系統服務商 百應電話機器人優勢 電話外呼系統改號 曲靖移動外呼系統公司 外呼系統打電話上限是多少 南昌三維地圖標注

  MySQL字符串截取函數主要有:left(), right(), substring(), substring_index() 四種。各有其使用場景。今天,讓我帶大家花幾分鐘時間來熟知它們,Mark!

聲明一下:在MySQL中,下標索引是從1開始的,而不是像java中從0開始的喔!

一、LEFT() 函數

  LEFT(string,length) ,從字符串string左邊第一位開始,截取長度為length個字符。length應大于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() 函數

  LEFT(string,length) ,從字符串string右邊第一位開始,截取長度為length個字符,仍然是正向順序截取。length應大于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() 函數

substring()是專門用來對字符串進行切分的函數,主要有兩種形式:

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

以下是上述兩類語句的SQL標準版本寫法,意義相同,它更長,但更具表現力。

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

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

1.SUBSTRING(string,position)

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

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

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參數之外,SUBSTRING函數還有一個length參數。length是一個正整數,用于指定子字符串的字符數。如果length=0,那么會返回空字符串。

例如,獲取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)

或者通過配置position,從后往前數;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)

又或者通過SQL標準方式來寫,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() 等價于 substring() 函數哦!

四、SUBSTRING_INDEX() 函數

  SUBSTRING_INDEX(str,delim,count),是一個通過特定標識符"delim"來截取子串的函數,我們日常使用頻率是很高的;

  • delim:通過該標識符來進行截取的,delim可以為任意字符,不要為空;
  • count:代表第幾次出現;count為正數,代表取標識符出現第count次之前的子串;負數則相反,取標識符出現第count次之后的子串。

例如:‘www.csdn.net',獲取第一次出現標識符'.'前面的子串,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)

獲取第一次出現標識符'.'后面的子串,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)

想獲取兩個'.'中間的呢?可以嵌套一下,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)


五、實戰操作

我們以表web_info為測試表,數據如下;

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數據的一級域名;
注:這里僅用于舉例說明,與實際會有些出入,如.com.cn那種多級后綴就需另外處理。

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字段數據都改成一級域名;

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

修改后查詢:

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的字符串切分函數今天就說到這兒,如果對小伙伴兒有用,請不要白嫖哦~~

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

您可能感興趣的文章:
  • MySQL處理JSON常見函數的使用
  • MySQL流程函數常見用法實例分析
  • PHP操作MySQL的mysql_fetch_* 函數的常見用法教程
  • 詳解Mysql函數調用優化
  • MySQL中sum函數使用的實例教程
  • MySQL的DATE_FORMAT函數的使用
  • Mysql基礎之常見函數

標簽:黑河 錦州 隨州 資陽 滄州 荊州 甘南 吉林

巨人網絡通訊聲明:本文標題《MySQL切分函數substring()的具體使用》,本文關鍵詞  MySQL,切分,函數,substring,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《MySQL切分函數substring()的具體使用》相關的同類信息!
  • 本頁收集關于MySQL切分函數substring()的具體使用的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 红安县| 田林县| 日土县| 招远市| 巴中市| 清镇市| 大兴区| 瑞金市| 河南省| 蒙阴县| 博白县| 镶黄旗| 温州市| 正定县| 江安县| 临江市| 西藏| 绥滨县| 水城县| 十堰市| 电白县| 苏尼特右旗| 抚顺县| 塘沽区| 武定县| 广宁县| 辽阳市| 雷州市| 天柱县| 陆丰市| 育儿| 什邡市| 翼城县| 峨边| 达州市| 广汉市| 罗定市| 天津市| 麻江县| 丹棱县| 紫云|