Oracle 的 WEEKDAY 函数本身不支持批量操作,它只能对单个日期值进行操作。但是,你可以使用 SQL 查询或 PL/SQL 代码来实现批量操作。
以下是一个使用 SQL 查询实现批量操作的示例:
SELECT your_date_column, WEEKDAY(your_date_column) AS weekday
FROM your_table;
这将返回一个结果集,其中包含表中每个日期值及其对应的星期几。
如果你需要在 PL/SQL 代码中实现批量操作,可以使用以下示例:
DECLARE
TYPE date_tab IS TABLE OF DATE;
dates date_tab := date_tab(DATE '2021-01-01', DATE '2021-01-02', DATE '2021-01-03');
weekdays date_tab;
BEGIN
FOR i IN 1..dates.COUNT LOOP
weekdays(i) := WEEKDAY(dates(i));
END LOOP;
-- 打印结果
FOR i IN 1..weekdays.COUNT LOOP
DBMS_OUTPUT.PUT_LINE('Date: ' || TO_CHAR(dates(i), 'YYYY-MM-DD') || ', Weekday: ' || weekdays(i));
END LOOP;
END;
/
这将计算给定日期列表中每个日期的星期几,并将结果存储在一个新的列表中。然后,使用 DBMS_OUTPUT.PUT_LINE 打印结果。