SQL的substring函数及其用法实例——MYSQL另一种截取目标字符的函数

Posted 小白修炼晋级中

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL的substring函数及其用法实例——MYSQL另一种截取目标字符的函数相关的知识,希望对你有一定的参考价值。

目录

1.substring()的语法和用法实例

(1)两个参数的语法和用法实例

①语法:substring(string ,index)|substring(string from index)

②用法实例:

从指定字符串的某序数开始获取字符

(2)三个参数的语法和用法实例

①语法:substring(string ,index,len)|substring(string from index for len)

②用法实例

从指定字符串的某个位置开始获取指定长度的字符

2.substring_index()与substring()函数的区别


1.substring()的语法和用法实例

substring()有两种语法形式,一种是两个参数获取从某个序号开始的值,另一种是三个参数获取指定位置和个数的字符串。

(1)两个参数的语法和用法实例

①语法:substring(string ,index)|substring(string from index)

即substring(被截取的字符串 , 开始位置序号)|substring(被截取的字符串 from开始位置序号)

参数说明

string:必需,被截取的字符串,表示需要从该字符串截取目标字符。

index:必需,开始截取的位置,为整数。当index为0时返回的是空值;当index为正数表示从左到右数的位置序数;当index为负数表示从右到左的位置序数。

②用法实例:

从指定字符串的某序数开始获取字符

例:从“hello world”中截取“world”字符串。

当序数为正数时,则开始字符“w”位置为7,注意的是“hello”和“world”之间的空字符是算一个字符。

#index为正数
select substring('hello world',7)  
或
select substring('hello world'from 7)

当序数为负数时,则开始字符“w”位置为-5。

#index为负数
select substring('hello world',-5)  
或
select substring('hello world' from -5)

(2)三个参数的语法和用法实例

①语法:substring(string ,index,len)|substring(string from index for len)

即substring(被截取字符串 ,开始位置,长度)|substring(被截取字符串 from 开始位置 for长度)

参数说明

string:必需,被截取的字符串,表示需要从该字符串截取目标字符。

index:必需,开始截取的位置,为整数。当index为0时返回的是空值;当index为正数表示从左到右数的位置序数;当index为负数表示从右到左的位置序数。

len:必需,表示截取字符串的长度。

②用法实例

从指定字符串的某个位置开始获取指定长度的字符

例:从“My name is LiMing”截取“Li”字符串。由于“Li”在长串字符串中居于尾部,因此选择负数序数更便捷,则“L”的位置为-6。

#index为负数
select substring('My name is LiMing',-6,2)
或
select substring('My name is LiMing' from -6 for 2)

2.substring_index()与substring()函数的区别

(1)substring_index()只有一种语法形式;substring()有两种语法形式。

(2)substring_index()获取的是以某分隔符分割的某串字符,若字符串中无分隔符只能获取全字符串或者空值;而substring()可以获取指定位置指定长度字符。


参考文章:MySQL substring()函数 - MySQL教程™ (yiibai.com)

mysql另一种截取目标字符的函数用法可参考SQL的substring_index()用法——MySQL字符串截取_小白修炼晋级中的博客-CSDN博客

PHP截取字符串函数substr()函数实例用法详解

在PHP中有一项非常重要的技术,就是截取指定字符串中指定长度的字符。PHP对于字符串截取可以使用PHP预定义函数substr()函数来实现。下面就来介绍一下substr()函数的语法及其应用。

 

substr()函数语法格式如下:大理石平台厂家

1

substr(string, start, length);

substr()函数参数说明如下:

参 数 说 明
string 指定字符串对象
start 指定开始截取字符串的位置。如果参数start为负数,则从字符串的末尾开始截取
length 可选参数,指定截取字符的个数,如果length为负数,则表示取到倒数第length个字符

说明:

start的指定位置是从0开始计算的,即字符串中的第一个字符的位置表示为0。

start 为正数据从左向右读取字符

start 为负数时就右向左读取字符

length 默认是直到字符串的结尾,正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始。

使用substr()函数截取字符串中指定长度的字符,实例的代码如下:

1

2

3

4

5

6

7

8

9

<?php

  echo substr("abcdefg",0);              //从第0个字符开始截取

  echo "<br>";

  echo substr("abcdefg",2,4);             //从第2个字符开始连续截取4个字符

  echo "<br>";

  echo substr("abcdefg",-4,2);             //从倒数第4个字符开始截取2个字符

  echo "<br>";

  echo substr("abcdefg",0,-4);             //从第0个字符开始截取,截取到倒数第4个字符

?>

输出结果为:

1

2

3

4

abcdefg

cdef

de

abc

在开发一些web程序时,为了保持整个页面的合理布局,经常需要对于一些超长的文本,只要求显示其中的部分信息。下面来通过具体的实例讲解一下其实现的方法。

使用substr()函数截取超长文本的部分字符串信息,剩余的部分使用"....."来代替,示例代码如下:

1

2

3

4

5

6

7

8

<?php

   $str="沪深证券交易所已发布“高送转”信息披露指引,实施“刨根问底”问询,开展对“高送转”内幕交易核查联动,集中查办了一批借“高送转”之名从事内幕交易或信息披露违规案件。";

  if(strlen($str)>30){                    //如果文本的字符串长度大于30

      echo substr($str,0,30). "....";          //输出文本的前30个字节,然后输出省略号

      }else{                           

        echo $str;                   // 如果文本的字符串长度小于30,直接输出原文本

 }

?>

输出结果为:

1

沪深证券交易所已发布....

说明:从指定的字符串中按照指定的位置截取一定长度的字符。通过substr()函数可以获取某个固定格式字符串中的一部分。

注意: 使用substr()函数在截取字符串时,如果截取的字符串个数是奇数,那么就会导致截取的中文字符串出现乱码,所以substr()函数适用于对英文字符串的截取,如果想要对中文字符串进行截取,而且要避免出现乱码,最好的方法就是应用substr()函数编写一个自定义函数。

以上就是PHP截取字符串函数substr()函数实例用法详解的详细内容

以上是关于SQL的substring函数及其用法实例——MYSQL另一种截取目标字符的函数的主要内容,如果未能解决你的问题,请参考以下文章

SQL的ROUND函数用法及其实例

求教SQL语句substring的用法

mysql中的截取函数及其实例

subString的用法

SQL中SUBSTRING的用法

SQL:substring用法