Oracle関数

日付関数

add_months(Date, integer)
 日付dateに月数 integerを加えて返す。
TO_DATE(char, format)
文字列を日付型に変換する。
char: 日付文字列
format YYYY年 MM月 DD日 HH24時間 MI分 SS
例) TO_DATE('20240507','YYYYMMDD')
TO_CHAR(date, format)
YYYY	4桁の西暦年
YY	西暦年の2桁
RR	西暦年の2桁
MM	月
DD	日
HH	12時間表記の時
HH24	24時間表記の時
MI	分
SS	秒
9	数値。正の場合は先頭に空白が付き、負の場合はマイナス記号(-)が付く。
0	数値。正の場合は先頭に空白が付き、負の場合はマイナス記号(-)が付く。桁数に足りない分は0で埋められる。
FM	書式の幅になるまで先頭を0又は末尾を空白で埋める。
FX	書式モデルと厳密に一致していなければエラーを発生させる。

文字列関数

その他

DECODE(変数 , 比較する値, 返値、default)
変数=比較値 のとき、返値
ROW_NUMBER
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary desc)
department_id内で、連番を付ける。
TABLE関数
レコードデータをselect文で取得できる。
返値をTYPEで宣言する。

--関数
FUNCTION FNC_GET_TOP_LIST (
 P_YM VARCHAR2, --YYYYMM
 P_BRND_CD VARCHAR2, --ブランドコード
 P_MDL_CD VARCHAR2, --モデルコード
 P_MNT_CD VARCHAR2, --モデルコード
 P_FCT_CD VARCHAR2, --工場コード
 P_PROC VARCHAR2 --工程
) RETURN T_SRP_MONTH_ROWS PIPELINED

-- TABLE関数用設定値
TYPE T_SRP_MONTH IS RECORD (
 PROC_NAME VARCHAR2(20), --工程名
 PNO NUMBER(5), --連番
 PART VARCHAR2(100), --部位
 TROUBLE VARCHAR2(100), --トラブル
 W01 NUMBER(6),
 W02 NUMBER(6),
 W03 NUMBER(6)
)
TYPE T_SRP_MONTH_ROWS IS TABLE OF T_SRP_MONTH;

select * from table(FNC_GET_TOP_LIST('','B','M','M','FAC','koutei'))

コメント

タイトルとURLをコピーしました