多くの文や式の構文の語句に、式や表副問合せのような式の一種があります。 式は文の定められた場所に置くことができます。
場所によっては決められた種類の式や決められた属性を持つ式のみ置くことができます。
もちろん他にも、これらの要素を構成の一部とする文はあるので、その一部として式を置くことができます。
以下の表ではSQL式と式を置くことのできる場所を示します。
式の種類 | 説明 | |
---|---|---|
列参照式 | 列への参照がある式では、列名で列の値を参照して、式の中で値を扱うことができます。
列が曖昧な場合は、列名を表名あるいは相関名で限定する必要があります。 FROM 節にて表に相関名が与えられていた場合、列名は相関名で限定される必要があります。別名として相関名が与えられている場合、表名で列を限定することはできません。 これは選択式s、UPDATE文やDML文のWHERE節におくことができます。 |
|
定数 | 多くの組込みのデータ型には関連した定数があります。(これはデータ型に記述されます。) | |
NULL | NULLは不明な値を表す、型のない定数です。 CAST式やINSERTのVALUES一覧およびUPDATEのSET節におくことができます。CAST式で利用することで、指定したデータ型を与えることができます。 |
|
動的パラメータ |
動的パラメータは、SQL文が作成された時には未だ決まっていない値へのパラメータです。その値の変わりに疑問符(?)がそれぞれの動的なパラメータのプレースホルダとしておかれます。
動的パラメータを参照してください。
動的パラメータは準備された文においてのみ、使うことができます。準備された文が実行される前に、動的パラメータの値は決められなければなりません。 また決めた値は文脈に沿った型でなければなりません。 データ型を問題なく推定できる場所では、どこでも利用することができます。動的パラメータを参照してください。 |
|
CAST 式 | NULLや動的パラメータの型を特定したり、値を他の型に変換することができます。 CAST 関数を参照してください。 | |
スカラー副問合せ | 一列のみの一行だけを返す副問合せです。 スカラー副問合せを参照してください。 | |
表副問合せ | 副問合せからは、一列以上、一行以上を返すことができます。
表副問合せを参照してください。
FROM句やEXISTS、INや定量比較の表式として置くことができます。 |
ブーリアン式はブーリアン値になる式です。多くの式は、ブーリアン値となれます。 一般的にWHERE句で用いられるブーリアン式は、SQL演算子で処理されるオペランドからなります。SQL のブーリアン演算子を参照してください。
条件式 | 条件式では、ブーリアン値に基づいて評価する式を選ぶことができます。 |
---|---|
式の種類 | 説明 |
-、*、/、単一の+と-の式 |
評価されると、オペランドに対して期待される演算処理が行われます。もし両方のオペランドが同じ型であれば、結果の型が昇格されることはありません。従って整数に除算演算子が適用されると、実際の計算結果に切捨て処理が行われて整数となった値が結果となります。 もし型が混在していた場合は、データ型の記述に従い、型の昇格が行われます。 単一の+で行われる処理はありません。(例えば+4は4と同じです。)単一の-は、-1をかけることと同じで、その結果符号が反転します。 |
AVG | 数値の集合から平均を返します。AVG関数 |
SUM | 数値の集合から合計を返します。SUM関数 |
LENGTH | 文字列やビット列から、文字数を返します。 LENGTH関数を参照してください。 |
LOWER | LCASEあるいはLOWER関数を参照してください。 |
COUNT | 値集合の個数を返します。COUNT 関数、COUNT(*) 関数を参照してください。 |
式の種類 | 説明 |
---|---|
ワイルドカードのあるCHARやVARCHARの値 | ワイルドカードの%や_を使って、LIKE演算子が一致する情報を探すパターン文字列を作ります。 |
連結式 | 連結式にて、連結演算子の"||"は、右辺のオペランドを左辺のオペランドの末尾に連結します。これは文字列やビット列に対して利用できます。 Concatenationを参照してください。 |
組込みの文字列関数 | 組込みの文字列関数は文字列に作用して、文字列を返します。 LTRIM関数、LCASEあるいはLOWER関数、RTRIM関数、TRIM 関数、SUBSTR関数それとrrefsqlj29930.html#rrefsqlj29930.ditaを参照してください。 |
USER関数 | User関数は現在のユーザに関する情報を文字列で返します。CURRENT_USER関数、SESSION_USER関数それと USER関数を参照してください。 |
式の種類 | 説明 |
---|---|
CURRENT_DATE | 現在の日付を返します。CURRENT_DATE関数を参照してください。 |
CURRENT_TIME | 現在の時刻を返します。CURRENT_TIME関数を参照してください。 |
CURRENT_TIMESTAMP | 現在のタイムスタンプを返します。CURRENT_TIMESTAMP関数を参照してください。 |