(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)
从 “123456anbdc”截取“123456”字符串。
指定起始和结束索引
String a = "123456anbdc";
String result = a.substring(0, 6);
或
a.substring(0, a.length() - 5); (前提知道后面有5个非数字字符)
0
是起始索引(包含)。
6
是结束索引(不包含),即取0
到5
的字符。