Oracle関数
2024.05.08
日付関数
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'))
コメント