我从 SQLite 数据库中检索了很多数据。检索时,我将其映射到应用程序中的不同视图。我的表格中有一个文本字段,我不想从中获取全文,只需要前 n 个字符。因此,例如,如果我的查询是:
Select description from articles where id='29';
那么如何从描述中获取子字符串?谢谢
使用该substr
功能。
从核心功能列表中:
substr(X,Y,Z) substr(X,Y) substring(X,Y,Z) substring(X,Y)
该函数返回一个以字符开头且长度为字符
substr(X,Y,Z)
的输入字符串的子字符串。如果省略,则返回以 .开头的字符串末尾的所有字符。的最左边的字符是数字 1。如果为负数,则通过从右侧而不是从左侧计数来找到子字符串的第一个字符。如果为负数,则返回字符前面的字符。如果是字符串,则字符索引指的是实际的 UTF-8 字符。如果是 BLOB,则索引指的是字节。X
Y-th
Z
Z
substr(X,Y)
X
Y-th
X
Y
Z
abs(Z)
Y-th
X
X
substring()
是substr()
从 SQLite 版本 3.34 开始的别名。
您可以使用 SQLite 中的内置函数,即substr(X,Y,Z)
. x 字段表示要切片的字符串输入,y 字段表示使用索引的起点,z 字段表示子字符串长度。
===============================
|Database Table : **articles**|
===============================
|id | description |
-------------------------------
|29 | Lorem ipsum domit |
===============================
现在我们将尝试为我们的描述进行选择查询
SELECT substr(description,1,4) FROM articles where id='29';
输出将是:Lore而不是 Lorem ipsum domit
要扩展现有答案,从SQLite 3.34.0开始:
为了与 SQL Server 兼容,substr() SQL 函数现在也可以称为“substring()”。
substring(X,Y) “substring()”是“substr()”的别名,从 SQLite 版本 3.34 开始。