49

SQLite データベースからかなりの量のデータを取得します。取得するときに、アプリケーションのさまざまなビューにマップします。テーブルにテキスト フィールドがあり、そこから全文を取得したくありません。最初の n 文字だけです。たとえば、私のクエリが次の場合:

Select description from articles where id='29';

次に、説明から部分文字列を取得するにはどうすればよいですか? ありがとう

4

3 に答える 3

73

機能を使用してくださいsubstr

コア機能のリストから:

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

この関数は、その文字で始まり、文字substr(X,Y,Z)の長さの入力文字列の部分文字列を返します。を省略した場合は、.で始まる文字列の末尾までのすべての文字が返されます。の一番左の文字は番号 1 です。が負の場合、部分文字列の最初の文字は、左ではなく右から数えて検索されます。が負の場合、文字の前の文字が返されます。が文字列の場合、文字インデックスは実際の UTF-8 文字を参照します。が BLOB の場合、インデックスはバイトを参照します。XY-thZZsubstr(X,Y)XY-thXYZabs(Z)Y-thXX

substring()substr()は、 SQLite バージョン 3.34 以降のエイリアスです。

于 2012-05-02T11:49:02.157 に答える
19

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';

出力は次のようになります: Lorem ipsum domit の代わりにLore

于 2015-09-10T04:30:42.667 に答える