CREATE OR REPLACE FUNCTION Get_WorkingDays(
ny IN VARCHAR
) RETURN INTEGER IS
/*
函數名稱
中文名稱
作者姓名: XINGPING
編寫時間:
輸入參數
返 回 值
算法描述
Result INTEGER;
BEGIN
SELECT COUNT(*) INTO Result
FROM (SELECT MOD(MOD(q
FROM ( SELECT to_date(ny||t
FROM (SELECT substr(
FROM ljrq z WHERE Rownum<=
) t
WHERE to_date(ny||t
BETWEEN to_date(ny
AND last_day(to_date(ny
)q
) a
WHERE a
RETURN Result;
END Get_WorkingDays;
___________________________________
還有一個版本
CREATE OR REPLACE FUNCTION Get_WorkingDays(
ny IN VARCHAR
) RETURN INTEGER IS
/*
函數名稱
中文名稱
作者姓名: XINGPING
編寫時間:
輸入參數
返 回 值
算法描述
Result INTEGER :=
myts INTEGER;
scts INTEGER;
rq DATE;
djt INTEGER :=
BEGIN
myts := to_char(last_day(to_date(ny
LOOP
rq := TO_date(ny||substr(
scts := rq
IF MOD(MOD(scts
Result := Result +
END IF;
djt := djt +
EXIT WHEN djt>myts;
END LOOP;
RETURN Result;
END Get_WorkingDays;
以上兩個版本的比較
第一個版本一條SQL語句就可以得出結果
第二個版本需要編程
這兩個版本都還存在需要完善的地方
From:http://tw.wingwit.com/Article/program/Oracle/201311/11197.html