返回以指定的起始索引和指定的最大长度中的 char 开头的子字符串。

参数:

  1. 人物表达。字符表达式可以是任何可以隐式转换为 varcharnvarchar 的数据类型,但 textntext 除外。
  2. 开始索引。一个数字(intbigint),它指定所请求的子字符串的起始索引。 ( 注意: sql server 中的字符串是 base 1 索引,这意味着字符串的第一个字符是索引 1)。此数字可以小于 1.在这种情况下,如果起始索引和最大长度之和大于 0,则返回字符串将是从字符表达式的第一个字符开始并且长度为(起始索引)的字符串+最大长度 - 1)。如果小于 0,则返回空字符串。
  3. 最长长度。0 到 bigint 最大值之间的整数(9,223,372,036,854,775,807)。如果 max length 参数为负,则会引发错误。
SELECT SUBSTRING('This is my string', 6, 5) -- returns 'is my'

如果 max length + start index 大于字符串中的字符数,则返回 entier 字符串。

SELECT SUBSTRING('Hello World',1,100) -- returns 'Hello World'

如果起始索引大于字符串中的字符数,则返回空字符串。

SELECT SUBSTRING('Hello World',15,10) -- returns ''