式には、SQL処理で使用する値を指定します。
式は、算術演算子、比較演算子、文字列またはバイナリ演算子、ビット演算子、あるいはこの章で説明する任意の関数で連結された1つまたは複数のプライマリで構成できます。プライマリは、SQL構文に示された項目から算出される、符号付きまたは符号なしの値です。
または
[...]
または
Expression1 [& | | | ^ | + | / | * | - ] Expression2
または
Expression1 | | Expression2
または
Expression
+, - | 単項プラスと単項マイナス。単項マイナスはプライマリの符号を変更します。デフォルトの設定では、符号は変更しません。 |
ColumnName | 値を取得する列の名前。列名については「名前」を参照してください。 |
ROWID | 表に保存される各行には、ROWIDと呼ばれる一意のIDが割り当てられます。ROWIDのデータ型はBINARY(16)です。ROWIDの値は、ROWIDという名前の擬似列から取得されます。 |
? :DynamicParameter | 動的パラメータのプレースホルダ。 動的パラメータの値は、実行時に設定されます。 |
AggregateFunction | 計算された値。「集計関数」を参照してください。 |
Constant | 特定の値。「定数」を参照してください。 |
(Expression) | かっこで囲まれた式。 |
Expression1 Expression2 | |
* | 2つのプライマリを乗算します。 |
/ | 2つのプライマリを除算します。 |
+ | 2つのプライマリを加算します。 |
- | 2つのプライマリを減算します。 |
& | 2つのオペランドのビット単位のAND。Expression1およびExpression2の対応するビットがどちらも1の場合にのみビットを1に設定し、ビットが異なるかどちらも0の場合にビットを0に設定します。 |
| | 2つのオペランドのビット単位のOR。Expression1およびExpression2の対応するビットのいずれかまたは両方が1の場合にビットを1に設定し、対応するビットの両方が0の場合にビットを0に設定します。 |
~ | オペランドのビット単位のNOT。Expressionを1つのみ取り出し、オペランドの各ビットを逆にして、すべての1を0(ゼロ)に、0(ゼロ)を1に変更します。 |
^ | 2つのオペランドの排他OR。Expression1およびExpression2の対応するビットが異なる場合にビットを1に設定し、同じ場合に0(ゼロ)に設定します。一方のビットが0(ゼロ)で他方のビットが1の場合、対応する結果ビットは1に設定されます。それ以外の場合、対応する結果ビットは0(ゼロ)に設定されます。 |
| | | 両方の式が文字列の場合に、Expression1とExpression2を連結します。両方の式の値を含む、新しい文字列値を作成します。「CONCAT」も参照してください。 |
10 * 2 - 1 = 19 のかわりに 10 * (2 - 1) = 10 とします。
次は、動的パラメータの使用例を示します。
SELECT文のWHERE句:
UPDATE文のWHERE句およびSET句:
DELETE文のWHERE句:
INSERT文のVALUES句です。この例では、?と:DynamicParameterの両方を、Purchasing.OrderItems表の2番目と4番目の列の両方に対応する:DynamicParameter1で使用します。そのため、この式には、2番目と4番目の列の両方に使用する2番目のパラメータを使用して、4つの動的パラメータのみを渡す必要があります。