LEAST

構文

目的

LEASTは、1つ以上の式のリストの最小値を戻します。Oracle Databaseは、最初のexprを使用して戻り型を判断します。最初のexprが数値である場合、Oracleは、数値の優先順位が最も高い引数を判断し、比較の前に残りの引数をそのデータ型に暗黙的に変換して、そのデータ型を戻します。最初のexprが数値ではない場合、比較の前に、2番目以降の各exprが最初のexprのデータ型に暗黙的に変換されます。

Oracle Databaseは、非空白埋め比較セマンティクスを使用して各exprを比較します。比較では、デフォルトの場合はバイナリが使用され、NLS_COMPパラメータがLINGUISTICに設定され、NLS_SORTパラメータにBINARY以外の設定がある場合は言語が使用されます。文字の比較は、データベース文字セットの文字の数値コードに基づいて行われます。また、文字ごとではなく、一連のバイトとして扱われる文字列全体で行われます。このファンクションによって戻される値が文字データの場合、そのデータ型は、最初のexprが文字データ型の場合はVARCHAR2、最初のexprが各国語キャラクタ・データ型の場合はNVARCHAR2になります。

関連項目:

  • 文字の比較の詳細は、「データ型の比較規則」を参照してください。

  • 暗黙的な変換の詳細は、表2-8を参照してください。2進浮動小数点の比較セマンティクスの詳細は、「浮動小数点数」を参照してください。

  • 「GREATEST」を参照してください(GREATESTは1つ以上の式のリストの最大値を戻します)。

  • exprの文字値を比較するためにLEASTで使用される照合を定義する照合決定ルール、およびこのファンクションの戻り値が文字値である場合に、それに割り当てる照合を定義する照合導出ルールは、『Oracle Databaseグローバリゼーション・サポート・ガイド』の付録Cを参照してください。

次の文では、最小値を持つ文字列を検索します。

SELECT LEAST('HARRY','HARRIOT','HAROLD') "Least"
  FROM DUAL;
 
Least 
------
HAROLD

次の文では、最初の引数は数字です。Oracle Databaseは、数値の優先順位が最も高い引数は3番目の引数であると判断し、残りの引数を3番目の引数のデータ型に変換して、そのデータ型で最小値を戻します。

SELECT LEAST (1, '2.1', '.000832') "Least"
  FROM DUAL;
 
Least
-------
.000832