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

構文 構文 構文 構文

用途 用途 用途 用途

HEXTORAWは、16進数を含むcharをRAW値に変換します。

例 例 例 例

INSERT INTO graphics (raw_column) SELECT HEXTORAW('7D') FROM DUAL;

INITCAP

構文 構文 構文 構文

用途 用途 用途 用途

INITCAPは、各単語の最初の文字を大文字、残りの文字を小文字にしてcharを戻します。

単語は空白または英数字以外の文字で区切ります。

例 例 例 例

SELECT INITCAP('the soap') "Capitals" FROM DUAL;

Capitals ---The Soap

参照 参照参照

参照: 2-15ページの「RAWデータ型とLONG RAWデータ型」および 4-76ページの「RAWTOHEX」を参照してください。

HEXTORAW ( char )

INITCAP ( char )

INSTR

構文 構文 構文 構文

用途 用途 用途 用途

INSTRは、substringのstringを検索します。

positionは、Oracleが検索を開始する文字stringの位置を示す整数です。

positionが負の場合、Oracleはstringの終わりから逆方向にカウントおよび検索し ます。

occurrenceは、検索するstringが現れたことを示す整数です。occurrenceの値は 正である必要があります。

この関数は、最初に現れた文字stringの位置を示す整数を戻します。positionおよび occurrenceのデフォルト値は1です。この場合、Oracleはstringの最初の文字から検 索を開始します。検索対象はsubstringが最初に現れる位置です。戻り値は、position の値にかかわらず、stringの先頭に関係し、文字で表されます。検索が失敗した

(stringのposition番目の文字の後にsubstringoccurrence回現れない)場合、

戻り値は0となります。

例 例 例 例

SELECT INSTR('CORPORATE FLOOR','OR', 3, 2) "Instring" FROM DUAL;

Instring 14

SELECT INSTR('CORPORATE FLOOR','OR', -3, 2)

"Reversed Instring"

FROM DUAL;

Reversed Instring 2

INSTR ( string , substring

, position

, occurrence

)

INSTRB

構文 構文 構文 構文

用途 用途 用途 用途

INSTRBは、positionおよび戻り値が文字ではなくバイトで表されること以外はINSTR と同じです。データベース・キャラクタ・セットがシングルバイトの場合、INSTRBは INSTRと同じです。

例 例 例 例

この例では、データベース・キャラクタ・セットがダブルバイトの場合を想定しています。

SELECT INSTRB('CORPORATE FLOOR','OR',5,2)

"Instring in bytes"

FROM DUAL;

Instring in bytes 27

LAG

構文 構文 構文 構文

参照参照参照

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

参照 参照参照

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

INSTRB ( string , substring

, position

, occurrence

)

LAG ( value_expr

, offset , default

) OVER ( analytic_clause )

用途 用途 用途 用途

LAGは分析関数です。これは、内部結合せずに、表の1つ以上の行へ同時アクセスを行いま す。問合せから戻される一連の行およびカーソル位置を指定すると、LAGは、その位置より 前にある指定された物理オフセットにある行へアクセスします。

offsetを指定しない場合、デフォルト値は1です。オフセットがウィンドウの有効範囲を 超えた場合、オプションのdefault値が戻されます。defaultを指定しない場合、デフォ ルト値はNULLです。

value_exprには、LAGまたは他の分析関数を使用できません。他の組込み関数式はexpr で使用できますが、分析関数はネストできません。

例 例 例 例

次の例では、emp表の各販売員について、その従業員の直前に雇用された従業員の給与を示 します。

SELECT ename, hiredate, sal,

LAG(sal, 1, 0) OVER (ORDER BY hiredate) as prev_sal FROM emp

WHERE job = 'SALESMAN';

ENAME HIREDATE SAL PREV_SAL --- ---ALLEN 20-FEB-81 1600 0 WARD 22-FEB-81 1250 1600 TURNER 08-SEP-81 1500 1250 MARTIN 28-SEP-81 1250 1500

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

関連したドキュメント