PL/SQLにて勤務時間の計算
PL/SQLを用いて、勤務時間の計算を行うプログラムを作成中です。(DBがoracle11g)
単純に退勤時刻から出勤時刻を引いて求めたいのですが、
実行時にエラーとなってしまいうまくいきません。
(当方勉強始めたばかりで、エラーが出ても何がだめなのか分かっていない状況です。)
以下に実際コーディング中のソースを載せますので、どなたか教えていただけませんでしょうか?
よろしくお願い致します。
↓以下ソースです。(end_date、start_dateがパラメータでそれぞれchar(04)で定義しています。)
---------------------------------------------------
--*変数定義
wk_time char(04) := '0000';
wk_time_h char(02) := '00';
wk_time_m char(02) := '00';
sys_date char(08) := '00000000';
BEGIN
wk_time := to_date(end_date,'hh24mi') - to_date(start_date,'hh24mi');
wk_time_h := substr(wk_time,1,2);
wk_time_m := substr(wk_time,3,2);
if substr(wk_time,3,2) >= '30' then
wk_time_m := '30';
else
wk_time_m := '00';
end if;
----------------------------------------------------------
実行すると、
ORA-06502: PL/SQL: 数値または値のエラー: 文字列バッファが小さすぎます。が発生しました
と表示されました。