式は、1つ以上の値、演算子、および値に評価されるSQLファンクションの組合せです。一般に、式のデータ型は、そのコンポーネントのデータ型になります。
注意: NLS_COMP とNLS_SORT の設定を組み合せた値によって、文字をソートおよび比較するルールが決まります。ご使用のデータベースのNLS_COMP にLINGUISTIC が設定されている場合、この章のエンティティはすべてNLS_SORT パラメータによって指定されるルールに従って解釈されます。NLS_COMP がLINGUISTIC に設定されていない場合、ファンクションはNLS_SORT の設定に関係なく解釈されます。NLS_SORT は、明示的に設定できます。明示的に設定されていない場合は、NLS_LANGUAGE から導出されます。これらの設定の詳細は、『Oracle Databaseグローバリゼーション・サポート・ガイド』を参照してください。 |
次の単純式は、値が4になり、データ型はNUMBER
(コンポーネントと同じデータ型)になります。
2*2
次の例は、ファンクションと演算子を使用した複雑な式です。この式は、現在の日付に7日を加算し、その合計から時間コンポーネントを削除し、結果をCHAR
データ型に変換します。
TO_CHAR(TRUNC(SYSDATE+7))
次の場所で式を使用できます。
SELECT
文のSELECT構文のリスト
WHERE
句およびHAVING
句の条件
CONNECT
BY
句、START
WITH
句およびORDER
BY
句
INSERT
文のVALUES
句
UPDATE
文のSET
句
たとえば、次のUPDATE
文のSET
句で、引用符で囲まれた文字列'Smith'
のかわりに式を使用することもできます。
SET last_name = 'Smith';
このSET
句では、引用符で囲まれた文字列'Smith
'のかわりに、INITCAP
(last_name
)を使用しています。
SET last_name = INITCAP(last_name);
次の構文に示すとおり、式にはいくつかの書式があります。
expr::=
Oracle Databaseは、すべてのSQL文のすべての部分で、式のすべての書式を受け入れるわけではありません。文に指定する式の制限については、第10章から第19章の個々のSQL文の説明を参照してください。
このマニュアルの他の箇所で、条件、SQLファンクションまたはSQL文にexpr
が示されている場合は、必ず適切な式の表記法を使用してください。次の項では、いくつかの例をあげて、様々な式の書式を説明します。