专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

substring是什么意思,substring函数用法

来源:小易整编  作者:小易  发布时间:2023-03-16 11:34
摘要:substring函数用法字符串函数,它从任何数据类型的数据(包括流数据)中返回一个子字符串。大纲SUBSTRING(string-expression,start[,length])SUBSTRING(string-expression...

substring是什么意思,substring函数用法

字符串函数,它从任何数据类型的数据(包括流数据)中返回一个子字符串。

大纲

SUBSTRING(string-expression,start[,length])
SUBSTRING(string-expression FROM start [FOR length])
{fn SUBSTRING(string-expression,start[,length])}

参数

  • string-expression - 要从中派生子字符串的字符串表达式。表达式,可以是列名、字符串文字或另一个标量函数的结果。字段可以是任何数据类型:字符串(例如 CHAR 或 VARCHAR)、数字或数据类型为 %Stream.GlobalCharacter 或 %Stream.GlobalBinary 的数据流字段。

  • start - 一个整数,它指定 string-expression 中开始子字符串的位置。 string-expression 中的第一个字符位于位置 1。如果起始位置高于字符串的长度,则 SUBSTRING 返回一个空字符串 。如果起始位置小于 1(零或负数),则子字符串从位置 1 开始,但子字符串的长度会减少起始位置。

  • length - 可选 — 一个整数,指定要返回的子字符串的长度。如果未指定长度,则默认返回字符串的其余部分。

描述

SUBSTRING 接受任何数据类型的数据并将该数据的子字符串作为数据类型 %String 返回。当然,子字符串可以是作为字符串返回的完整数据值。

start 的值控制子字符串的起点:

  • 如果 start 为 1,则子字符串从 string-expression 的开头开始。

  • 如果 start 大于 1,则子字符串从 string-expression 开头计数的那个字符位置开始。

  • 如果 start 小于 1,则子字符串从 string-expression 的开头开始,但 length 的值会减少相应的量。因此,如果 start 为 0,则 length 的值减 1;如果 start 为 –1,则 length 的值减 2。

length 的值控制子字符串的大小:

  • 如果 length 为正值(1 或更大),则子字符串在起始位置右侧结束 length 个字符。(如果起始编号小于 1,此有效长度可能会减少。)

  • 如果长度大于字符串中剩余的字符数,则返回从起始位置右侧到字符串表达式结尾的所有字符。

  • 如果长度为零,则返回 NULL。

  • 如果长度是负数, 会发出 SQLCODE –140 错误。

SUBSTRING 可用作 ODBC 标量函数(使用大括号语法)或 SQL 通用函数。

返回值

如果 string-expression 是任何 %String 数据类型,则 SUBSTRING 返回值是与 string-expression 数据类型相同的数据类型。这允许 SUBSTRING 使用特殊编码处理用户定义的字符串数据类型。

如果 string-expression 不是 %String 数据类型(例如,%Stream.GlobalCharacter),则 SUBSTRING 返回值为 %String。

如果任何 SUBSTRING 参数值为 NULL,则 SUBSTRING 返回 NULL。

流数据

与大多数 SQL 字符串函数不同,SUBSTRING 可以与流数据一起使用。字符串表达式可以是数据类型为 %Stream.GlobalCharacter 或 %Stream.GlobalBinary 的字段。 SUBSTRING 将提取的流数据子集作为 %String 数据类型返回。如果 start=1 并且省略了 length,则 SUBSTRING 以 %String 形式返回完整的流数据值。

因此,SUBSTRING 可用于将字符流数据作为字符串提供给其他 SQL 字符串函数。以下示例使用 SUBSTRING 允许 CHARINDEX 在包含 DNA 核苷酸序列的 %Stream.GlobalCharacter 字段的前 1000 个字符中搜索子字符串 TTAGGG 的第一次出现,并将该位置作为整数返回:

SELECT CHARINDEX('TTAGGG',SUBSTRING(DNASeq,1,1000)) FROM Sample.DNASequences

SUBSTRING or SUBSTR

  • SUBSTRING 从从字符串表达式的开头算起的起始位置提取子字符串。 SUBSTR 可以从字符串的开头或结尾提取子字符串。

  • SUBSTRING 可以与流数据一起使用; SUBSTR 不能与流数据一起使用。

示例

此示例返回字符串“forward”:

SELECT {fn SUBSTRING( 'forward pass',1,7 )} AS SubText
forward

此示例返回字符串“pass”:

SELECT {fn SUBSTRING( 'forward pass',9,4 )} AS SubText
pass

以下示例返回每个名称的前四个字符:

SELECT Name,SUBSTRING(Name,1,4) AS FirstFour
FROM Sample.Person

以下示例演示了 SUBSTRING 的另一种语法形式。此示例在功能上与上一个示例相同:

SELECT Name,SUBSTRING(Name FROM 1 FOR 4) AS FirstFour
FROM Sample.Person

substring函数用法

以下示例显示长度如何减少小于 1 的起始值。(起始值 0 减少长度 1,起始值 -1 减少长度 2,依此类推。)在这种情况下,长度减 3,因此只返回一个字符(“A”):

SELECT {fn SUBSTRING( 'ABCDEFG',-2,4 )} AS SubText
A

substring函数用法


本文地址:网络知识频道 https://www.hkm168.com/jiqiao/928313.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


网络知识
小编:小易整编
相关文章相关阅读
  • c语言的输入函数有哪些

    c语言的输入函数有哪些

    c语言的输入函数有:1、scanf()函数、从标准输入stdin读取格式化输入;2、getchar()函数,从标准输入stdin获取一个字符;3、gets()函数,从标准输入stdin读取一行;4、getch()函数,从stdin流中读取字...

  • 什么是构造函数?详解JavaScript中的构造函数

    什么是构造函数?详解JavaScript中的构造函数

    作为原型和原型链的基础,先了解清楚构造函数以及它的执行过程才能更好地帮助我们学习原型和原型链的知识。本篇文章带大家详细了解一下javascript中的构造函数,介绍一下怎么利用构造函数创建一个js对象,希望对大家有所帮助!一个普通的函数被用...

  • 什么是Linux系统中nc命令?nc命令的用法详解

    什么是Linux系统中nc命令?nc命令的用法详解

    这篇文章主要介绍了linux系统中nc命令的基本用法,nc命令非常之强大,这里先简单介绍它用来作端口扫描以及文件传输等的基础使用。功能说明:功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本。因为它短小...

  • Excel函数学习之CHOOSE函数 vs IF函数

    Excel函数学习之CHOOSE函数 vs IF函数

    如果Excel函数圈也有江湖,那CHOOSE函数绝对算得上扫地僧。它不如IF函数那般威震江湖,但它的本领却更胜一筹。今天小花就带大家好好见识一下被大多数人冷遇的CHOOSE函数!   CHOOSE函数使用index_num返回数值参数列...

  • Matlab中length函数怎么用

    Matlab中length函数怎么用

    在matlab中,length函数用于返回向量、数组或字符串中的元素个数。以下是length函数的一些用法示例:1、返回向量中的元素个数:v = [1, 2, 3, 4, 5];  numElements = length(v); % 结果...

  • mysql列转行函数是什么

    mysql列转行函数是什么

    在mysql中,列转行函数是“group_concat()”函数;该函数用于将非空列值按照分组条件进行合并并最终返回,如果其中有空值则返回的结果是空,语法为“selectgroup_concat(name separator';')列...

  • excel求差值用什么函数

    excel求差值用什么函数

    在excel中求差值是没有专门的函数,excel求差值的方法是:首先打开excel工作表;然后在f7单元格内输入“=d7-e7”公式;最后按回车即可得到两个数之间的差值即可。本文操作环境:Windows7系统、DellG3电脑、Micro...

  • Excel Mid函数的使用方法

    Excel Mid函数的使用方法

    在Excel中,提取指定长度的字符有两个函数,分别为Mid函数和Midb函数,前者用于提取指定长度的字符个数,后者用于提取指定长度的字节个数。用Mid函数提取时,无论是汉字、字母还是数字都算一个字符;用Midb函数提取时,汉字算两个字节...

  • 周排行
  • 月排行
  • 年排行

精彩推荐