SQLite SUBSTRING() 函数用于从指定位置开始的字符串中提取子字符串。
SUBSTR() 函数是 SUBSTRING() 函数的同义词。
语法
SUBSTRING(string, start, length)
参数
string | 必填。 指定要从中提取的字符串。如果它是字符串,则字符索引引用实际的 UTF-8 字符。如果它是 BLOB,则索引引用字节。 |
start | 必需。 指定起始位置。它可以是正数也可以是负数。
|
length | 可选。 指定要提取的字符数。如果省略,将返回整个字符串(从 start 位置开始)。如果它是负数,则返回 start 字符之前的ABS(length)字符。 |
返回值
返回从指定字符串中提取的子字符串。
示例1:
下面的示例显示了SUBSTRING() 函数。
SELECT SUBSTRING('Yxjc123.com', 1);
Result: 'Yxjc123.com'
SELECT SUBSTRING('Yxjc123.com', 5);
Result: '123.com'
SELECT SUBSTRING('Yxjc123.com', 6, 6);
Result: '12.com'
SELECT SUBSTRING('Yxjc123.com', 6, -5);
Result: 'Yxjc1'
SELECT SUBSTRING('Yxjc123.com', -4, 4);
Result: '.com'
SELECT SUBSTRING('Yxjc123.com', -4, -6);
Result: 'xjc123'
示例 2:
考虑一个名为 Employee 的数据库表,其内容如下记录:
Phone_Number | EmpID | Address |
---|---|---|
+33-147996101 | 1 | Grenelle, Paris, France |
+31-201150319 | 2 | Geuzenveld, Amsterdam, Netherlands |
+86-1099732458 | 3 | Yizhuangzhen, Beijing, China |
+65-67234824 | 4 | Yishun, Singapore |
+81-357799072 | 5 | Koto City, Tokyo, Japan |
在查询中下面,SUBSTRING()函数用于从PhoneNumber列记录中提取国家/地区代码。
SELECT *, SUBSTRING(PhoneNumber, 2, 2) AS CountryCode
FROM Employee;
这将产生如下所示的结果:
Phone_Number | EmpID | Address | CountryCode |
---|---|---|---|
+33-147996101 | 1 | Grenelle, Paris, France | 33 |
+31-201150319 | 2 | Geuzenveld, Amsterdam, Netherlands | 31 |
+86-1099732458 | 3 | Yizhuangzhen, Beijing, China | 86 |
+65-67234824 | 4 | Yishun, Singapore | 65 |
+81-357799072 | 5 | Koto City, Tokyo, Japan | 81 |