【问题标题】:How to get substring in SQLIte?如何在 SQLite 中获取子字符串?
【发布时间】:2012-05-02 11:44:13
【问题描述】:

我从 SQLite 数据库中检索了大量数据。检索时,我将其映射到应用程序中的不同视图。我的表中有一个文本字段,我不想从中获取全文,只需要前 n 个字符。因此,例如,如果我的查询是:

Select description from articles where id='29';

那么我如何从描述中获取子字符串?谢谢

【问题讨论】:

    标签: database sqlite


    【解决方案1】:

    使用substr 函数。

    来自list of core functions

    substr(X,Y,Z) substr(X,Y) substring(X,Y,Z) substring(X,Y)

    substr(X,Y,Z) 函数返回输入字符串X 的子字符串 以Y-th 字符开头,长度为Z 字符。如果Z 是 省略然后 substr(X,Y) 返回到末尾的所有字符 以Y-th 开头的字符串XX 最左边的字符是 数字 1. 如果Y 为负数,则子字符串的第一个字符 是通过从右边而不是从左边数来找到的。如果Z 是 负数则 abs(Z) 字符之前的 Y-th 字符是 回来。如果X 是一个字符串,那么字符索引指的是实际 UTF-8 字符。如果 X 是 BLOB,则索引指的是字节。

    substring()substr() 的别名,以 SQLite 版本开头 3.34.

    【讨论】:

      【解决方案2】:

      在 SQLite 中获取子字符串

      您可以使用 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

      【讨论】:

        【解决方案3】:

        扩展现有答案,从SQLite 3.34.0开始:

        为了与 SQL Server 兼容,substr() SQL 函数现在也可以称为“substring()”。

        substring(X,Y) “substring()”是“substr()”的别名,从 SQLite 版本 3.34 开始。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-14
          • 2011-04-09
          • 1970-01-01
          • 2011-10-04
          • 2013-02-15
          • 1970-01-01
          相关资源
          最近更新 更多