関数リファレンス

次の表では、「式による要素の追加」ダイアログと「グループ・フィルタの編集」ダイアログでサポートされている使用可能な関数について説明しています。

関数 説明 構文

IF

論理IF演算子

boolean_exprを評価して、boolean_exprがtrueの場合はtrue_returnを返し、boolean_exprがfalseの場合はfalse_returnを返します。

IF (boolean_expr, true_return, false_return)

IF (G_1.DEPARTMENT_ID == 10, 'PASSED', 'FAIL')は、DEPARTMENT_ID = 10の場合に'PASSED'を返し、それ以外の場合は'FAIL'を返します。

NOT

論理NOT演算子

boolean_exprを評価して、boolean_exprがfalseの場合にtrueを返します。

STRING(NOT(boolean_expr))

STRING(NOT(G_1.JOB_ID == 'MANAGER'))は、JOB_ID = MANAGERの場合に'TRUE'を返し、それ以外の場合は'FALSE'を返します。

AND

論理AND演算子

boolean_expr1とboolean_expr2を評価して、両方のブール式がtrueの場合にtrueを返し、それ以外の場合はfalseを返します。

STRING(AND(boolean_expr1, boolean_expr2, ...))

STRING(AND (G_1.JOB_ID == 'MANAGER', G_1.DEPARTMENT_ID == 10))は、JOB_ID = MANAGERとDEPARTMENT_ID = 10の両方がtrueの場合に'TRUE'を返し、それ以外の場合は'FALSE'を返します。

&&

論理AND演算子

boolean_expr1とboolean_expr2を評価して、両方のブール式がtrueの場合にtrueを返し、それ以外の場合はfalseを返します。

STRING(boolean_expr1 && boolean_expr2)

STRING(G_1.JOB_ID == 'MANAGER' && G_1.DEPARTMENT_ID == 10)

JOB_ID = MANAGERとDEPARTMENT_ID = 10の両方がtrueの場合に'TRUE'が返され、それ以外の場合は'FALSE'が返されます。

||

論理OR演算子

boolean_expr1およびboolean_expr2を評価し、ブール式のいずれかまたは両方がtrueの場合trueを返し、それ以外の場合falseを返します。

STRING(OR(boolean_expr1, boolean_expr2)

STRING(OR (G_1.JOB_ID == 'MANAGER', G_1.DEPARTMENT_ID == 10))

JOB_ID = MANAGERまたはDEPARTMENT_ID = 10がtrueの場合に'TRUE'が返され、それ以外の場合は'FALSE'が返されます。

MAX

セット内の要素の最大値を戻します。

MAX(expr1, expr2, expr3, ...)

MAX(G1_Salary, 10000)

salaryと10000のうち、大きい方が返されます。

MIN

セット内の要素の最小値を戻します。

MIN(expr1, expr2, expr3, ...)

MIN(G1_Salary,5000)

salaryと5000のうち、小さい方が返されます。

ROUND

数値を、指定の小数点以下桁数で丸めた結果を返します。

ROUND(number[,integer])

integerが省略された場合は、numberの小数点以下が丸められます。

integerが負の場合は、整数部の桁が丸められます。

integerは整数でなければなりません。

ROUND(2.777)

3が返されます

ROUND(2.777, 2)

2.78が返されます

FLOOR

n以下の最小整数を返します。

FLOOR(n)

FLOOR(2.777)

2が返されます

CEILING

n以上の最大整数を返します。

CEILING(n)

CEILING(2.777)

3が返されます

ABS

nの絶対値を返します。

ABS(n)

ABS(-3)

3が返されます

AVG

式の平均値を返します。

AVG(expr1, expr2, expr3, ...)

AVG(G_1.SALARY,G_1.COMMISSION_PCT*G_1.SALARY)

SALARYとCOMMISSIONの平均が返されます。

たとえば、SALARY = 14000でCOMMISSION_PCT = .4の場合は、式を評価した結果は9800.0となります。

LENGTH

配列の長さを返します。

LENGTH関数は、入力文字セットの文字数によって長さを計算します。

charがNULLの場合、この関数はNULLを返します。

charが配列の場合、この関数は配列の長さを返します。

LENGTH(expr)

配列の長さを返す例であるLENGTH{1, 2, 4, 4})は4を返します。

文字列の長さを返す例: LENGTH('countries')は9を返します。

SUM

式の値の合計を返します。

SUM(expr1, expr2, ...)

SUM (G_1.SALARY, G_1.COMMISSION_PCT*G_1.SALARY)

salaryとcommissionの合計が返されます。

たとえば、SALARY = 14000でCOMMISSION_PCT =.4の場合は、式を評価した結果は19,600.0となります。

NVL

問合せの結果の中のnull (空白として返される)を文字列で置き換えます。

NVL(expr1, expr2)

expr1がNULLの場合、NVLはexpr2を返します。

expr1がNULLでない場合、NVLはexpr1を返します。

NVL(G_1.COMMISSION_PCT, .3)は、G_1.COMMISSION_PCTがnullのときに.3を返します。

CONCAT

char1とchar2を連結したものを返します。

CONCAT(char1, char2)

CONCAT(CONCAT(First_Name, ' '), Last_Name)

First_Name = JoeでLast_Name = Smithの場合は

Joe Smithが返されます

STRING

charを文字列データ型として返します。

STRING(expr)

STRING(G1_SALARY)

salary = 4400の場合は

4400が文字列として返されます。

SUBSTRING

文字列から部分文字列を取り出します。

SUBSTRING(string, start_pos, end_pos)

stringは、ソース文字列です。

start_posは取出しを開始する位置です。

end_posは文字列の取出しを終了する位置です(省略可能)。

SUBSTRING('this is a test', 5, 7)は「is」(つまり、文字6から7まで)を返し、SUBSTRING('this is a test', 5)は「is a test」を返します。

INSTR

文字列の中の部分文字列の、最初の文字の位置を返します。

INSTR(string1, string2)

string1は検索対象の文字列です。

string2は、string1内で検索する部分文字列です。

INSTR('this is a test', 'is a')

5が返されます

DATE

有効なJava日付文字列を、標準書式の日付データ型に変換します。

DATE(char, format_string)

(1) charは任意の有効なJava日付文字列(たとえば、13-JAN-2013)で、(2) format_stringは入力文字列のJava日付書式(たとえば、dd-MMM-yyyy)です。入力と書式の文字列は、有効なJava日付書式文字列であることが必要です。

DATE(01-Jan-2013,'dd-MMM-yyyy')

2013-01-01T08:00:00.000+00:00が返されます

FORMAT_DATE

Java日付書式の日付引数を、書式設定済の文字列に変換します。

FORMAT_DATE(date,format_string)

FORMAT_DATE(SYSDATE,'dd-MMM-yyyy')

SYSDATEの値が2013-01-24T16:32:45.000-08:00の場合は、24-Jan-2013が返されます。

FORMAT_NUMBER

数値または数値文字列を、指定された数値書式の文字列に変換します。

FORMAT_NUMBER(number,format_string)

FORMAT_NUMBER(SOME_NUMBER, '$9,999.00')

SOME_NUMBER = 12345.678の場合は、$12,345.68が返されます。

DECODE

式の値を、指定された検索および置換の条件に基づいて別の値で置き換えます。

DECODE(expr, search, result [, search, result]...[, default])

DECODE(PROD_FAMILY_CODE,100,'Colas',200,'Root Beer',300,'Cream Sodas',400,'Fruit Sodas','Other')は、(1) PROD_FAMILY_CODE = 100の場合に'Colas'を返し、(2) PROD_FAMILY_CODE = 200の場合に'Root Beer'を返し、(3) PROD_FAMILY_CODE = 300の場合に'Cream Sodas'を返し、(4) PROD_FAMILY_CODE = 400の場合に'Fruit Sodas'を返し、(5) PROD_FAMILY_CODEの値がそれ以外の場合は'Other'を返します。

REPLACE

文字列内の一連の文字を、別の文字のセットで置き換えます。

REPLACE(expr,string1,string2)

string1は検索する文字列で、string2は置き換える文字列です。

REPLACE(G_1.FIRST_NAME,'B','L')

G_1.FIRST_NAME = Barryの場合は

Larryが返されます