详解MySQL的SUBSTR()函数:从字符串的指定位置开始提取指定数量的字符

yizhihongxing

SUBSTR()函数是MySQL中用于截取字符串的函数,其作用是从指定字符串中截取一定长度的子字符串,然后返回该子字符串。

语法:

SUBSTR(str, pos, len)

函数参数:

  • str:要截取子字符串的源字符串;
  • pos:截取子字符串的起始位置,位置索引从1开始计算;
  • len:截取子字符串的长度,可选参数。

函数返回值:

  • 返回截取的子字符串。

使用例子1:

我们可以使用SUBSTR()函数来截取一个字段中的前3个字符,并将其作为一个新的字段保存。

假设我们有一个学生成绩表,记录学生的成绩单号(包含学生学号、考试时间和顺序编号)以及考试成绩,如下所示:

score_no   score   exam_date
--------   -----   ----------
00101-1    87      2021-05-01
00101-2    91      2021-05-01
00101-3    82      2021-05-01
00102-1    95      2021-05-01
00102-2    89      2021-05-01
00102-3    93      2021-05-01

现在我们要将成绩单号中的前5个字符(即学号)截取出来,作为一个新的字段保存。可以使用如下SQL语句:

SELECT score_no, score, exam_date, SUBSTR(score_no, 1, 5) AS stu_no
FROM score_table;

执行以上SQL语句得到的结果如下:

score_no   score   exam_date   stu_no
--------   -----   ----------   ------
00101-1    87      2021-05-01   00101
00101-2    91      2021-05-01   00101
00101-3    82      2021-05-01   00101
00102-1    95      2021-05-01   00102
00102-2    89      2021-05-01   00102
00102-3    93      2021-05-01   00102

其中,新添加的字段stu_no即为成绩单号中的前5个字符(学号)。

使用例子2:

我们可以使用SUBSTR()函数来截取一个字符串中的子字符串,然后进行一些运算。

假设我们有一个包含一些数字的字符串,例如“1234”,我们想要截取其中的前两个数字("12"),然后将其转换成整型进行计算,可以使用如下SQL语句:

SELECT CAST(SUBSTR('1234', 1, 2) AS SIGNED) + 1 AS result;

执行以上SQL语句得到的结果为:

result
------
13

其中,CAST(SUBSTR('1234', 1, 2) AS SIGNED)用于将截取后的子字符串转换成整数类型,+1是对其进行加1操作,最终得到的结果为13。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解MySQL的SUBSTR()函数:从字符串的指定位置开始提取指定数量的字符 - Python技术站

(0)
上一篇 2023年3月24日
下一篇 2023年3月24日

相关文章

  • 详解MySQL的SIN()函数:返回一个角度的正弦值

    MySQL的SIN()函数是一个三角函数,用于计算指定角度的正弦值。它接受一个以弧度或角度表示的数值,并返回一个介于-1到1之间的正弦值。 SIN()函数的语法如下: SIN(n) 其中n表示一个数字,可以是以弧度或者角度表示的数值。 如果n是以弧度表示的,那么SIN()函数返回的是正弦值;如果n是以角度表示的,那么需要将角度转换为弧度后再进行计算。 下面给…

    MySQL函数大全 2023年3月24日
    00
  • 详解MySQL的TIMESTAMPDIFF()函数:返回两个日期或时间之间的时间差

    MySQL的TIMESTAMPDIFF()函数可用于计算两个日期/时间之间的差距。它返回的是两个日期/时间之间的差距(按秒计算),并且可以指定差距的单位(年、月、日、时、分、秒)。以下是该函数的完整攻略: 语法: TIMESTAMPDIFF(unit, datetime_expr1, datetime_expr2) 参数: unit:指定差距的单位,可以是Y…

    MySQL函数大全 2023年3月24日
    00
  • 详解MySQL的RADIANS()函数:将角度转换为弧度

    MySQL的RADIANS()函数是用于把以度数表示的角度值转换成弧度数值的函数。它是数学函数之一,可以用数学公式进行转换,也可以直接使用该函数来进行转换。 使用方法: RADIANS(angle) 其中angle表示一个以度数表示的角度值。该函数将把该角度值转换成弧度数值。 函数返回值: 函数返回一个以弧度表示的浮点数值。 实例1: SELECT RADI…

    MySQL函数大全 2023年3月24日
    00
  • 详解MySQL的CONCAT_WS()函数:使用分隔符连接字符串

    CONCAT_WS()函数介绍 CONCAT_WS()函数是MySQL中的字符串函数,它的作用是将多个字符串连接成一个完整的字符串,中间用指定的分隔符来分隔字符串。其中,WS是“with separator”的缩写,代表指定的分隔符。 语法:CONCAT_WS(separator,str1,str2,…) 参数:separator表示分隔符,str1、s…

    MySQL函数大全 2023年3月22日
    00
  • 详解MySQL的CURRENT_TIME()函数:返回当前时间

    MySQL的CURRENT_TIME()函数可以用来获取当前系统时间,其返回值类型为时间格式(HH:MM:SS)。 使用方法: 可以直接调用CURRENT_TIME()函数获取当前系统时间,如下所示: SELECT CURRENT_TIME(); 实例1:使用CURRENT_TIME()函数插入当前系统时间 下面的示例演示了如何使用CURRENT_TIME(…

    MySQL函数大全 2023年4月1日
    00
  • 详解MySQL的VALUES()函数:返回表达式的值

    MySQL的VALUES()函数是一种用于在INSERT INTO语句中指定一组值的函数。该函数可以将多个值组合为一个表格行。 其语法如下: VALUES(value1, value2, … ) 其中,value1, value2等都是要插入的值,它们可以是字符串、数字、日期等类型。 使用VALUES()函数的方法如下: 首先,需要使用INSERT IN…

    MySQL函数大全 2023年3月24日
    00
  • 详解MySQL的ROW_COUNT()函数:返回查询影响的行数

    MySQL 的 ROW_COUNT 函数用于获取上一条执行的 INSERT、UPDATE、DELETE 或 REPLACE 语句所影响的行数。具体来说,ROW_COUNT 返回的值是一个整数,表示最近一次操作对应的语句在执行期间所影响的行数。 ROW_COUNT 函数通常与 INSERT、UPDATE、DELETE 或 REPLACE 语句一起使用。例如,如…

    MySQL函数大全 2023年4月1日
    00
  • 详解MySQL的VARIANCE()函数:计算值集的方差

    MySQL的VARIANCE()函数用于计算一组数据的方差。 语法: VARIANCE(expression) 参数: expression:用于计算方差的一组数据,可以是数字、列名、子查询等。 返回值: VARIANCE()函数返回一组数据的方差。如果表达式返回的结果集为空或只有一条记录,则返回NULL。 下面是两个例子: 假设有以下数据表(table1)…

    MySQL函数大全 2023年3月24日
    00
合作推广
合作推广
分享本页
返回顶部