抽出。指定範囲にある文字列を。
成果物
構文
select substr('対象文字列', 開始位置); select substr('対象文字列', 開始位置, 長さ);
文字列
引数 | 値 | 備考 |
---|---|---|
開始位置 | 1 〜/〜-1 |
0 も1 と同じく先頭を意味するが、長さ+1せねばならなくなる。負数なら後ろからの位置になる。 |
長さ | 〜length() |
開始位置=0 なら長さ+1せねばならない。負数なら空文字を返す |
開始位置0
が謎。位置0
は使わないほうが良さそう。
例
select substr('0123456789', 7); 6789 select substr('0123456789', 5, 7); 456789 select substr('0123456789', -2); 89 select substr('0123456789', -1); 9 select substr('0123456789', 0); 0123456789 select substr('0123456789', 1); 0123456789 select substr('0123456789', 2); 123456789 select substr('0123456789', 0, 10); 012345678 select substr('0123456789', 0, 11); 0123456789 select substr('0123456789', 0, 12); 0123456789 select substr('0123456789', 1, 10); 0123456789 select substr('0123456789', 1, 11); 0123456789 select substr('0123456789', 1, 12); 0123456789 select substr('0123456789', 0, 0); select substr('0123456789', 0, 1); select substr('0123456789', 0, 2); 0 select substr('0123456789', 1, 0); select substr('0123456789', 1, 1); 0 select substr('0123456789', 0, -1); select substr('0123456789', 0, -2); select substr('0123456789', -5, 2); 56
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch 9.0 2018-11-13
- bash 4.4.12(1)-release
- SQLite 3.29.0
- MeCab 0.996ユーザ辞書
$ uname -a Linux raspberrypi 4.19.42-v7+ #1218 SMP Tue May 14 00:48:17 BST 2019 armv7l GNU/Linux
前回まで
- SQLite3学習 俯瞰まとめ
- SQLite3学習 環境構築まとめ
- SQLite3学習 インタフェースまとめ(C言語、CLI、対話モード、Tcl...)
- SQLite3学習 ドットコマンドまとめ
- SQLite3学習 JSON拡張まとめ
- SQLite3学習 FTSまとめ(ICU, MeCab)
- SQLite3学習 再帰クエリ(WITH RECURSIVE)
- SQLite3学習 R-Treeモジュール
- SQLite3学習 Geopoly(2次元ベクタ画像の生成)
- SQLite3学習 拡張関数(generate_series)
- SQLite3学習 拡張ライブラリ数学関数(extension-functions.c)
- SQLite3学習 謎と名前
- SQLite3学習 構文まとめ
- SQLite3関数の一覧と分類
- SQLite3コア関数の一覧と分類
- SQLite3コア関数 quote
- SQLite3コア関数 lower,upper
- SQLite3コア関数 trim,ltrim,rtrim
- SQLite3コア関数 replace
- SQLite3コア関数 glob
- SQLite3コア関数 like
- SQLite3コア関数 printf