我在創建一個回傳隨機日期的函式時遇到了一些困難(下一個是一個回傳隨機時間戳的函式),當在從日期范圍和到日期范圍內傳遞時。
我希望該值還包括與 DATE 關聯的隨機時間。對于時間戳函式,隨機小數值。
以下是我到目前為止的 DATE 函式,但我似乎無法編譯它。任何幫助將不勝感激。感謝所有回答的人。
CREATE OR REPLACE FUNCTION random_date(
p_from IN DATE,
p_to IN DATE
)
RETURN date DETERMINISTIC
IS
v_start DATE := TRUNC(LEAST(p_from, p_to));
v_end DATE := TRUNC(GREATEST(p_from, p_to));
RETURN p_from
DBMS_RANDOM.VALUE(0, p_to - p_from 1);
END random_date;
/
uj5u.com熱心網友回復:
它:
- 缺少
BEGIN關鍵字; - 不希望它成為
DETERMINISTIC(因為它不會);和 - 可以更簡單:
CREATE FUNCTION random_date(
p_from IN DATE,
p_to IN DATE
) RETURN DATE
IS
BEGIN
RETURN p_from DBMS_RANDOM.VALUE() * (p_to -p_from);
END random_date;
/
并且,對于TIMESTAMPs:
CREATE FUNCTION random_timestamp(
p_from IN TIMESTAMP,
p_to IN TIMESTAMP
) RETURN TIMESTAMP
IS
BEGIN
RETURN p_from DBMS_RANDOM.VALUE() * (p_to -p_from);
END random_timestamp;
/
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/464565.html
上一篇:當所有值都是NA時求和/回傳NA
