Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Oracle 11g - FOR-Schleife, die nur Wochentage in eine Tabelle einfügt?

Sie können immer den Wochentag überprüfen, bevor Sie die Zeile einfügen (die Namen der Wochentage hängen von Ihren NLS-Einstellungen ab, daher ist dies nicht die robusteste Lösung)

 BEGIN
  FOR i IN 1..365 LOOP
    IF( to_char(sysdate-1+i,'fmDAY') NOT IN ('SATURDAY', 'SUNDAY') )
    THEN
      INSERT INTO MY_TABLE (ID, MY_DATE)
        VALUES (i, (to_date(sysdate,'DD-MON-YY')-1)+i);
    END IF;
  END LOOP;
 END;