我正在尝试用pl / sql(oracle)编写一个程序,该程序必须计算某人的生日在周末的次数。
这就是我得到的,但是例如在2018年至1990年的每一个循环(-1年)中我都缺少类似的提取物。
有人可以帮我吗?
SET SERVEROUTPUT ON;
DECLARE
v_counter number default 0;
v_real_birthdate date default to_date('01/01/1990', 'DD/MM/YYYY');
v_birthdate date default to_date('01/01/2018', 'DD/MM/YYYY');
BEGIN
WHILE v_counter < 28
LOOP
v_leeftijd := v_leeftijd +1;
dbms_output.put_line( ( TO_CHAR( v_birthdate, 'DAY' ) ) );
END LOOP;
END;
答案 0 :(得分:2)
如果我们假设我是在今天的2010年这一天出生的(那时将是2010-09-12(yyyy-mm-dd)),那么结果将逐步如下。
如果您有兴趣了解每个CTE所返回的内容,请逐一运行,然后您会看到。
df['Exceptions'] = df['ErrorMessage'].str.extract(r"---> ([^:]+): ")
答案 1 :(得分:1)
您可以使用以下查询(假设1981年2月6日是生日):
WITH b AS (SELECT TO_DATE('02/06/1981', 'MM/DD/RRRR') birthday FROM dual)
SELECT SUM(CASE WHEN TO_CHAR(birthday + (INTERVAL '1' YEAR) * (LEVEL -1), 'FMD') IN ('1','7') THEN 1 END)
FROM b
CONNECT BY birthday + (INTERVAL '1' YEAR) * (LEVEL - 1) <= sysdate
TO_CHAR(...,'FMD')
给出从1 =星期日到7 =星期六的星期几