• 検索結果がありません。

構文 構文 構文 構文

用途 用途 用途 用途

MAKE_REFは、オブジェクト識別子が主キーに基づいている、オブジェクト・ビューの行ま たはオブジェクト表の行に対するREFを作成します。

例 例 例 例

CREATE TABLE employee (eno NUMBER, ename VARCHAR2(20), salary NUMBER, PRIMARY KEY (eno, ename));

CREATE TYPE emp_type AS OBJECT

(eno NUMBER, ename CHAR(20), salary NUMBER);

CREATE VIEW emp_view OF emp_type WITH OBJECT IDENTIFIER (eno, ename) AS SELECT * FROM emp;

SELECT MAKE_REF(emp_view, 1, 'jack') FROM DUAL;

MAKE_REF(EMP_VIEW,1,'JACK')

---000067030A0063420D06E06F3C00C1E03400400B40DCB10000001C260100010002002900000000000F06 参照

参照参照 参照:

オブジェクト・ビューの詳細は、『Oracle8iアプリケーション開発者ガ イド 基礎編』を参照してください。

4-35ページの「DEREF」を参照してください。

MAKE_REF (

table view

, key

, )

MAX

構文 構文 構文 構文

用途 用途 用途 用途

MAXはexprの最大値を戻します。これは、集計関数または分析関数として使用できます。

DISTINCTを指定する場合は、analytic_clauseのquery_partition_clauseのみ指 定できます。ORDER_BY_clauseおよびwindowing_clauseは指定できません。

集計の例 集計の例 集計の例 集計の例

SELECT MAX(sal) "Maximum" FROM emp;

Maximum 5000

参照 参照参照

参照: 構文、意味および制限の詳細は、4-8ページの「分析関数」を参照 してください。

参照参照参照 参照:

4-6ページの「集計関数」を参照してください。

exprの書式の詳細は、5-2ページの「式」を参照してください。

MAX (

DISTINCT ALL

expr )

OVER ( analytic_clause )

分析の例 分析の例 分析の例 分析の例

次の例では、各従業員について、その従業員と所属が同じ従業員のうち、1番高い給与を計 算します。

SELECT mgr, ename, sal,

MAX(sal) OVER (PARTITION BY mgr) AS mgr_max FROM emp;

MGR ENAME SAL MGR_MAX

7566 SCOTT 3000 3000

7566 FORD 3000 3000

7698 ALLEN 1600 1600

7698 WARD 1250 1600

7698 JAMES 950 1600

7698 TURNER 1500 1600

7698 MARTIN 1250 1600

7782 MILLER 1300 1300

7788 ADAMS 1100 1100

7839 JONES 2975 2975

7839 CLARK 2450 2975

7839 BLAKE 2850 2975

7902 SMITH 800 800

KING 5000 5000

この問合せを述語のある親問合せで囲むと、各部門で給与の1番高い従業員がわかります。 SELECT mgr, ename, sal FROM (SELECT mgr, ename, sal, MAX(sal) OVER (PARTITION BY mgr) AS rmax_sal FROM emp) WHERE sal = rmax_sal; MGR ENAME SAL 7566 SCOTT 3000

7566 FORD 3000

7698 ALLEN 1600

7782 MILLER 1300

7788 ADAMS 1100

7839 JONES 2975

7902 SMITH 800

KING 5000

MIN

構文 構文 構文 構文

用途 用途 用途 用途

MINは、exprの最小値を戻します。これは、集計関数または分析関数として使用できます。

DISTINCTを指定する場合は、analytic_clauseのquery_partition_clauseのみ指 定できます。ORDER_BY_clauseおよびwindowing_clauseは指定できません。

集計の例 集計の例 集計の例 集計の例

SELECT MIN(hiredate) "Earliest" FROM emp;

Earliest ---17-DEC-80

分析の例 分析の例 分析の例 分析の例

次の例では、各従業員について、その従業員が雇用された日以前に雇用された従業員を検索 します。その従業員と所属が同じ従業員のサブセットを決定し、そのサブセット内で1番低 い給与を戻します。

参照参照参照

参照: 構文、意味および制限の詳細は、4-8ページの「分析関数」を参照 してください。

参照 参照参照 参照:

4-6ページの「集計関数」を参照してください。

exprの書式の詳細は、5-2ページの「式」を参照してください。

MIN (

DISTINCT ALL

expr )

OVER ( analytic_clause )

SELECT mgr, ename, hiredate, sal,

MIN(sal) OVER(PARTITION BY mgr ORDER BY hiredate RANGE UNBOUNDED PRECEDING) as p_cmin

FROM emp;

MGR ENAME HIREDATE SAL P_CMIN --- 7566 FORD 03-DEC-81 3000 3000 7566 SCOTT 19-APR-87 3000 3000 7698 ALLEN 20-FEB-81 1600 1600 7698 WARD 22-FEB-81 1250 1250 7698 TURNER 08-SEP-81 1500 1250 7698 MARTIN 28-SEP-81 1250 1250 7698 JAMES 03-DEC-81 950 950 7782 MILLER 23-JAN-82 1300 1300 7788 ADAMS 23-MAY-87 1100 1100 7839 JONES 02-APR-81 2975 2975 7839 BLAKE 01-MAY-81 2850 2850 7839 CLARK 09-JUN-81 2450 2450 7902 SMITH 17-DEC-80 800 800 KING 17-NOV-81 5000 5000

MOD

構文 構文 構文 構文

用途 用途 用途 用途

MODは、mをnで割ったときの余りを戻します。nが0の場合は、mを戻します。

例 例 例 例

SELECT MOD(11,4) "Modulus" FROM DUAL;

Modulus 3

この関数は、mが負の場合には古典数学のモジュール関数とは異なる動作をします。古典数 学のモジュール関数は、次の公式を用いたMOD関数で表すことができます。

MOD ( m , n )

次の文は、MOD関数と古典数学のモジュール関数の相違を示します。

SELECT m, n, MOD(m, n),

m - n * FLOOR(m/n) "Classical Modulus"

FROM test_mod_table;

M N MOD(M,N) Classical Modulus --- --- ---

11 4 3 3

11 -4 3 -1

-11 4 -3 1

-11 -4 -3 -3

MONTHS_BETWEEN

構文 構文 構文 構文

用途 用途 用途 用途

MONTHS_BETWEENは、日付d1d2の間の月数を戻します。d1がd2以降の日付の場合、

結果は正の値になります。d1がd2以前の日付の場合、結果は負の値になります。d1およ びd2が、月の同じ日または月の最終日の場合、結果は常に整数になります。それ以外の場 合、Oracleは結果の小数部を1か月31日として計算します。d1およびd2の時間要素の相 違も考慮されます。

例 例 例 例

SELECT MONTHS_BETWEEN

(TO_DATE('02-02-1995','MM-DD-YYYY'),

TO_DATE('01-01-1995','MM-DD-YYYY') ) "Months"

FROM DUAL;

Months ---1.03225806

参照 参照参照

参照: 4-40ページの「FLOOR」を参照してください。

MONTHS_BETWEEN ( d1 , d2 )

ドキュメント内 Oracle8i SQLリファレンス Vol.1, リリース8.1 (ページ 189-195)

関連したドキュメント