{"id":9531,"date":"2025-07-31T04:47:13","date_gmt":"2025-07-30T16:47:13","guid":{"rendered":"https:\/\/www.publicholidaycalendar.com\/en\/?p=9531"},"modified":"2025-07-31T04:47:13","modified_gmt":"2025-07-30T16:47:13","slug":"the-ultimate-guide-to-excluding-weekends-and-holidays-in-oracle-sql-2024-edition","status":"publish","type":"post","link":"https:\/\/www.publicholidaycalendar.com\/de\/the-ultimate-guide-to-excluding-weekends-and-holidays-in-oracle-sql-2024-edition\/","title":{"rendered":"Der ultimative Leitfaden zum Ausschlie\u00dfen von Wochenenden und Feiertagen in Oracle SQL (Ausgabe 2024)"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/www.publicholidaycalendar.com\/wp-content\/uploads\/2025\/07\/pexels-photo-1483984-6.jpeg\" alt=\" The Ultimate Guide to Excluding Weekends and Holidays in Oracle SQL (2024 Edition) \"\/><\/p>\n<p> Hallo! Hier ist euer kleiner Feiertagsassistent mit einem weiteren technischen Feiertags-Hack. K\u00fcrzlich fragte mich einer unserer SQL-erfahrenen Benutzer, wie man Abfragen erstellt, die Wochenenden und Feiertage in Oracle ignorieren \u2013 Sie wissen schon, f\u00fcr diese \u201eNur Werktage\u201c-Berichte, die Finanzteams gl\u00fccklich machen. Ich erkl\u00e4re es euch anhand einiger Beispiele aus der Praxis in einfachen Worten. <\/p>\n<p> Das Wichtigste zuerst: Die Berechnung von Werktagen ist weitaus h\u00e4ufiger, als Sie denken. Ob Sie SLA-Zeitpl\u00e4ne, Bearbeitungszeitr\u00e4ume oder einfach nur die Arbeitstage zwischen Daten verfolgen \u2013 das \u00dcberspringen von Samstagen, Sonntagen und Feiertagen bereitet h\u00e4ufig Kopfzerbrechen. Die gute Nachricht? Oracle SQL bietet hierf\u00fcr einige raffinierte Datumsfunktionen, aber die Sache hat einen Haken \u2026 <\/p>\n<h2> Das Wochenendproblem (und die einfache L\u00f6sung) <\/h2>\n<p> Wochenenden sind der einfache Teil. Mit der TO_CHAR-Funktion von Oracle im Formatmodell \u201eD\u201c k\u00f6nnen Sie die Tagesnummern (1=Sonntag bis 7=Samstag) \u00fcberpr\u00fcfen. Hier ist ein schneller Trick, um sie herauszufiltern:<\/p>\n<p><code><br \/>\nSELECT Bestelldatum<br \/>\nVON Bestellungen<br \/>\nWHERE TO_CHAR(Bestelldatum, &#039;D&#039;) NOT IN (&#039;1&#039;,&#039;7&#039;)<br \/>\n<\/code><\/p>\n<p>Aber warten Sie \u2013 dies setzt voraus, dass Sonntag Tag 1 ist. Einige Orte beginnen die Woche am Montag, also \u00fcberpr\u00fcfen Sie es noch einmal mit <code>SELECT TO_CHAR(SYSDATE, &#039;D&#039;) FROM dual<\/code> zuerst. Profi-Tipp: F\u00fcr klareren Code verwenden Sie <code>NICHT IN (6,7)<\/code> wenn Sie ISO-Standard sind (Montag=1). <\/p>\n<h2> Der Urlaubskopfschmerz (und wie man ihn l\u00f6st) <\/h2>\n<p> Und jetzt wird es spannend. Anders als Wochenenden sind Feiertage nicht in Oracle festgeschrieben \u2013 sie \u00e4ndern sich j\u00e4hrlich und variieren je nach Land\/Region. Es gibt zwei gute Ans\u00e4tze:<\/p>\n<p>1. <b>Feiertagstabellenmethode<\/b>: Erstellen Sie eine Tabelle \u201eFEIERT\u201c mit allen relevanten Daten und dann:<br \/>\n<code><br \/>\nSELECT Arbeitsdatum<br \/>\nVON Projektdaten<br \/>\nWHERE TO_CHAR(Arbeitsdatum, &#039;D&#039;) NICHT IN (6,7)<br \/>\nUND Arbeitsdatum NICHT IN (W\u00c4HLEN Sie Feiertagsdatum AUS Feiertagen)<br \/>\n<\/code><\/p>\n<p>2. <b>Dynamische Datumsberechnung<\/b>: Verwenden Sie f\u00fcr feste Feiertage (wie den 4. Juli in den USA) eine bedingte Logik:<br \/>\n<code><br \/>\nWO NICHT (<br \/>\n  (TO_CHAR(Datumsfeld, &#039;MMTT&#039;) = &#039;0101&#039; -- Neujahr<br \/>\n  ODER (TO_CHAR(Datumsfeld, &#039;MMTT&#039;) = &#039;1225&#039; \u2013 Weihnachten<br \/>\n  -- F\u00fcgen Sie bei Bedarf weitere feste Termine hinzu<br \/>\n)<br \/>\n<\/code><\/p>\n<h2> Professionelle Gesch\u00e4ftstagberechnungen <\/h2>\n<p> M\u00fcssen Sie Werktage zwischen Daten z\u00e4hlen? Kombinieren Sie unsere Tricks mit einer rekursiven CTE- oder Kalendertabelle. Hier ist ein praktisches Beispiel mit einem generierten Datumsbereich:<\/p>\n<p><code><br \/>\nMIT Datumsbereich ALS (<br \/>\n  SELECT start_date + LEVEL - 1 AS calc_date<br \/>\n  VON (AUSW\u00c4HLEN BIS_DATUM(&#039;01-JAN-2024&#039;) ALS Startdatum,<br \/>\n               TO_DATE(&#039;31-DEC-2024&#039;) AS end_date FROM dual)<br \/>\n  VERBINDEN NACH EBENE &lt;= Enddatum - Startdatum + 1<br \/>\n)<br \/>\nSELECT COUNT(*) AS Werktage<br \/>\nVON Datumsbereich<br \/>\nWHERE TO_CHAR(calc_date, &#039;D&#039;) NOT IN (6,7)<br \/>\nUND Berechnungsdatum NICHT IN (SELECT holiday_date FROM company_holidays)<br \/>\n<\/code><\/p>\n<p> Denken Sie daran, Ihren spezifischen Feiertagsplan zu ber\u00fccksichtigen \u2013 Bundesfeiertage unterscheiden sich von Firmenfeiertagen, und internationale Abl\u00e4ufe erh\u00f6hen die Komplexit\u00e4t. Einige Teams f\u00fchren auch separate Tabellen f\u00fcr gesetzliche und tats\u00e4chliche Feiertage! <\/p>\n<p> Hier ist es also \u2013 Ihr komplettes Toolkit f\u00fcr Wochenend- und Feiertagsausschl\u00fcsse in Oracle SQL. Ob Sie Berichte erstellen, Fristen berechnen oder Gesch\u00e4ftszyklen analysieren \u2013 mit diesen Techniken bleiben Ihre Datumsberechnungen pr\u00e4zise. Und falls Ihr Unternehmen den National Pizza Day pl\u00f6tzlich zum Feiertag erkl\u00e4rt (das w\u00e4re doch sch\u00f6n!), tragen Sie ihn einfach in Ihre Feiertagstabelle ein, und Ihre Abfragen ber\u00fccksichtigen den neuen freien Tag automatisch. <\/p>\n<p> FAQpro-Tipp: Testen Sie Grenzf\u00e4lle immer an Feiertagswochenenden \u2013 der Dienstag nach einem Feiertag kann die Datumsberechnungen manchmal durcheinanderbringen. Vielen Dank f\u00fcrs Lesen und hoffen, dass alle Ihre Anfragen schnell beantwortet werden (im Gegensatz zu Beh\u00f6rden an Feiertagen)! Haben Sie ein kniffliges Datumsszenario? Kontaktieren Sie uns, wir helfen Ihnen dabei. <\/p><\/p>","protected":false},"excerpt":{"rendered":"<p>Hallo! Hier ist euer kleiner Feiertagsassistent mit einem weiteren technischen Feiertags-Hack. K\u00fcrzlich fragte mich einer unserer SQL-erfahrenen Benutzer, wie man Abfragen erstellt, die Wochenenden und Feiertage in Oracle ignorieren \u2013 Sie wissen schon, f\u00fcr die \u201eNur Werktage\u201c-Berichte, die Finanzteams gl\u00fccklich machen. Ich erkl\u00e4re es euch \u2026<\/p>","protected":false},"author":1,"featured_media":9530,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","slim_seo":{"title":"The Ultimate Guide to Excluding Weekends and Holidays in Oracle SQL (2024 Edition) - Public Holiday Calendar","description":"Hey there! It's your Holiday Little Assistant back with another techie holiday hack. Recently one of our SQL-savvy users asked me how to whip up queries that ig"},"footnotes":""},"categories":[278],"tags":[9550,9552,9549,9548,9551],"class_list":["post-9531","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-business-days-calculation-oracle","tag-oracle-date-functions-holidays","tag-oracle-skip-holidays","tag-oracle-sql-exclude-weekends","tag-working-days-sql-query"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/posts\/9531","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/comments?post=9531"}],"version-history":[{"count":1,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/posts\/9531\/revisions"}],"predecessor-version":[{"id":9532,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/posts\/9531\/revisions\/9532"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/media\/9530"}],"wp:attachment":[{"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/media?parent=9531"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/categories?post=9531"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.publicholidaycalendar.com\/de\/wp-json\/wp\/v2\/tags?post=9531"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}