Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

LEAST

値のリストから最小値を返す関数。

Synopsis

LEAST(expression,expression[,...])

引数

expression 数値または文字列に解決される式。これらの式の値は、相互に、および返される最小値と比較されます。expression にはフィールド名、リテラル、算術式、ホスト変数、またはオブジェクト参照のいずれかを指定できます。最大で 140 個の式をコンマで区切って指定できます。

説明

LEAST は、コンマで区切られた値のリストから最小値を返します。式は、左から順に評価されます。expression が 1 つしかない場合は、LEAST はその値を返します。expression が NULL の場合、LEAST は NULL を返します。

すべての expression 値がキャノニック形式の数値に解決される場合は、数値順に比較されます。引用符で囲まれた文字列にキャノニック形式の数値が含まれている場合は、数値順に比較されます。一方、引用符で囲まれた文字列にキャノニック形式以外の数値 ('00'、'0.4'、または '+4' など) が含まれている場合は、文字列として比較されます。文字列の比較は、照合順に文字ごとに行われます。文字列値は、数値よりも大きくなります。

空の文字列は、任意の数値よりも大きいものの、他の文字列値よりは小さくなります。

返り値が数値の場合、LEAST は返り値を (先頭と末尾のゼロが削除されるなど) キャノニック形式で返します。返り値が文字列の場合は、LEAST は、先頭または末尾の空白も含めてその文字列を変更せずに返します。

LEAST の逆関数は GREATEST です。

返り値のデータ型

expression 値のデータ型が異なる場合、返されるデータ型は可能なすべての返り値と最も互換性の高い型、つまり最も高いデータ型の優先順位を持つデータ型になります。例えば、ある expression が整数で別の expression が小数の場合、LEAST はデータ型 NUMERIC の値を返します。これは、NUMERIC が両方に互換性がある、最も高い優先順位を持つデータ型であるためです。

次の例では、各 LEAST は 3 つのキャノニック形式の数値を比較しています。

SELECT LEAST(22,2.2,-21) AS HighNum,
       LEAST('2.2','22','-21') AS HighNumStr

次の例では、各 LEAST は、3 つの数値文字列を比較しています。ただし、各 LEAST には、キャノニック形式以外の文字列が 1 つ含まれています。これらのキャノニック形式以外の値は、文字列として比較されます。文字列は数字よりも常に大きくなります。

SELECT LEAST('22','+2.2','21'),
       LEAST('0.2','22','21')

次の例では、各 LEAST は 3 つの文字列を比較し、照合順序の最も低い値を返します。

SELECT LEAST('A','a',''),
       LEAST('a','aa','abc'),
       LEAST('#','0','7'),
       LEAST('##','00','77')

次の例では、キャノニック形式の数値として扱われる、$HOROLOG 整数としての生年月日と日付に変換される整数 58074 の 2 つの日付を比較しています。これは、20 世紀に生まれた各人の生年月日を返します。1999 年の 12 月 31 日よりも後に生まれた人は、2000 年 1 月 1 日というデフォルトの生年月日で表示されます。

SELECT Name,LEAST(DOB,TO_DATE(58074)) AS NewMillenium
FROM Sample.Person

関連項目

FeedbackOpens in a new tab