SQLite3構文 expression
文ではなく式。
情報源
以前
以前は「公式からは見つけられなかった」ようだが、今回見つけた。
演算子
優先順位が高い順。
二項演算子
演算子 | 意味 |
---|---|
|| |
文字列結合 |
* ,/ ,% |
乗算、除算、剰余 |
+ ,- |
加算、減算 |
<< ,>> ,& ,| |
ビット演算子(左シフト、右シフト、ビットAND、ビットOR) |
< ,<= ,> ,>= |
比較演算子(小なり、小なりイコール、大なり、大なりイコール) |
= ,== ,!= ,<> ,is ,is not ,in ,like ,glob ,match ,regexp |
比較演算子(イコール、ノットイコール) |
and |
論理演算子(論理積) |
or |
論理演算子(論理和) |
<
: 左は小さい。右よりも。(小なり)
単項演算子
演算子 | 意味 |
---|---|
~ |
ビット演算子(ビットNOT) |
- |
負数 |
+ |
(何もしない) |
not |
論理演算子(否定) |
collate
演算子
collate binary
collate nocase
collate rtrim
create table T(A text); insert into T values('B'); insert into T values('A'); insert into T values('C');
select A from T where A = 'a';
select A from T where A collate nocase = 'a';
A
collate
演算子はすべての単項演算子より優先度が高い。
その他の論理演算子
演算子 | 意味 |
---|---|
between |
範囲内にあるか |
in |
候補内にあるか |
exists |
存在するか |
like |
パターンに一致するか |
glob |
パターンに一致するか |
match |
パターンに一致するか(FTS用) |
regexp |
正規表現パターンに一致するか |
その他
値を返す。
演算子 | 意味 |
---|---|
case when then else |
条件に一致したとき指定値を返す |
行を返す。
演算子 | 意味 |
---|---|
limit offset |
指定行数を上限とする。offset があるとき先頭から指定行数だけ飛ばす |
表を返す。
演算子 | 意味 |
---|---|
distinct |
重複値を排除する |
union |
和結合(2表すべて) |
except |
差結合(2表の差分のみ) |
intersect |
積結合(2表で一致のみ) |
対象環境
- 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学習 謎と名前
- SQL文の分類(DDL,DML,TCL,DCL)
- SQL構文 alter(rename)
- SQL構文 alter(add column)概要
- SQL構文 alter(add column)制約
- SQL構文 alter(add column)sqlite_master変更しても反映されない
- SQL構文 alter(add column)スキーマ再定義(テーブル再作成による定義変更)
- SQL構文 analyze
- SQL構文 attach/detach
- SQLite3構文 begin,end,commit,rollback,savepoint(deferred,immediate,exclusive)
- SQLite3構文 コメント
- SQLite3構文 create/drop
- SQLite3構文 index(create/drop)
- SQLite3構文 table(create/drop)
- SQLite3構文 列制約(default)
- SQLite3構文 列制約(collate)
- SQLite3構文 列制約(primary key)
- SQLite3構文 列制約(primary key)ベストプラクティス
- SQLite3構文 列制約(unique)
- SQLite3構文 列制約(not null)
- SQLite3構文 列制約(check)
- SQLite3構文 列制約(foreign key references)
- SQLite3構文 表制約(primary key, unique, check, foreign key)
- SQLite3でメタデータを取得する方法(DB名(スキーマ名)、テーブル名、列名、制約)
- SQLite3でTEMPの保存先を指定する
- SQLite3構文 delete
- SQLite3ビルド失敗(SQLITE_ENABLE_UPDATE_DELETE_LIMIT)
- SQLite3をソースからビルドする(SQLITE_ENABLE_UPDATE_DELETE_LIMIT)
- SQLite3構文 delete(limit offset, order by)
- SQLite3クエリプランニング(インデックスの働き)
- SQLite3構文 explain