式は、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が示されている場合は、必ず適切な式の表記法を使用してください。次の項では、いくつかの例をあげて、様々な式の書式を説明します。