Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst Dynamische SQL Abfrage nach Wochentag

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

30.01.2013, aktualisiert 08:45 Uhr, 7556 Aufrufe, 8 Kommentare

Dynamische SQL Abfrage je nach Wochentag

Moin zusammen,

ich habe eine SQL Abfrage, welche mir je nach Wochentag einen anderen Intervall nehmen soll.


SELECT
FROM
change ch
WHERE
ch.closedate >= SYSDATE -24/24


Hier ist die Frage wie ich den Stundenintervall dynamisch einstellen kann.

Ziel ist das der Bereich SYSDATE folgend bezogen wird.

Dienstag - Sonntag = SYSDATE -24/24
Montag = SYSDATE -96/24

Mittels folgendem Code bekomme ich ja den jetzigen Wochentag raus:


SELECT to_char(SYSDATE,'Day') from dual


Nur jetzt möchte ich wie gesagt abfragen, je nachdem was für ein Wochentag ist, soll ein anderer Zeitraum genommen werden.

Wie kann ich das als Variable deklarieren, bzw. habt Ihr eine Idee ?

Merci
Mitglied: nxclass
30.01.2013, aktualisiert um 08:59 Uhr
Hi,

werte die Rückgabe der TO_CHAR() Funktion in einem IF oder CASE aus.

http://www.techonthenet.com/oracle/loops/if_then.php
Bitte warten ..
Mitglied: LianenSchwinger
30.01.2013, aktualisiert um 09:16 Uhr
Hallo,

einfach in der WHERE-Klausel ein CASE Konstrukt bauen.

z.B.

01.
SELECT co.order_no, co.date_entered 
02.
FROM customer_order co 
03.
WHERE CASE WHEN TO_CHAR(SYSDATE,'D') <= 5  
04.
           THEN SYSDATE -24/24 
05.
           ELSE SYSDATE -96/24 
06.
      END <= co.date_entered
Es ist übrigens immer ganz hilfreich, wenn man die verwendetet Datenbank angibt (MySQL, Oracle, Access ...)

Gruß Jörg
Bitte warten ..
Mitglied: BadFsaadKl
30.01.2013 um 09:10 Uhr
Moin,

bin im SQL mit den IF Schleifen net so fit. Aber funktioniert irgendwie net.

IF select to_char(sysdate,'Day') from dual = 'Montag' THEN
SELECT
FROM
change ch
WHERE
ch.closedate >= SYSDATE -96/24
ELSE
SELECT
FROM
change ch
WHERE
ch.closedate >= SYSDATE -24/24
END IF

Diese Variante ist aber auch bissle Umständlich, da mein eigentliches SQL Statement um eingies größer ist.
Und der Übersichthalber würde ich (falls möglich) eher mit Variablen arbeiten.
Bitte warten ..
Mitglied: LianenSchwinger
30.01.2013 um 09:21 Uhr
... übrigens wass soll das mit dem -24/24 (= -1) und -96/24 (= -3) ?!?
Da kannst Du auch direkt -1 bzw. -3 nehmen. Wenn Du die vollen Tage ohne Uhrzeit möchtest musst Du das jeweilige Datum wandeln oder beschneiden z.B. TRUNC(SYSDATE).

Gruß Jörg
Bitte warten ..
Mitglied: BadFsaadKl
30.01.2013 um 09:33 Uhr
Moin,

Betrifft eine Oracle DB.

Habe es jetzt wie folgt gelöst.
WHERE
CASE WHEN TO_CHAR(SYSDATE,'D') = '1'
THEN SYSDATE -96/24
ELSE SYSDATE -24/24
END <= ch."closeddate"
ORDER BY ch."closeddate" ASC

Der Punkte mit den -24/24 und -96/24 ist nötig, da ich den genauen Stundenintervall benötige.
Bitte warten ..
Mitglied: LianenSchwinger
30.01.2013, aktualisiert um 09:49 Uhr
Hallo,

dann hat meine Version ja funktioniert.

Bei Oracle (und ich denke bei allen anderen auch ) ergibt

01.
SYSDATE-24/24 
02.
SYSDATE-1
das selbe Ergebnis.

Und bitte noch den Thread als gelöst markieren.

Gruß Jörg
Bitte warten ..
Mitglied: BadFsaadKl
30.01.2013 um 10:11 Uhr
Moin Jörg,

ja, hätte auch funktioniert.

nur wenn Chef sagt, er will es im Stundentakt so angegeben habe, dann mach ich das halt.
Auch wenn ich 4 Zeichen mehr tippen muss
Bitte warten ..
Mitglied: LianenSchwinger
30.01.2013, aktualisiert um 10:35 Uhr
... man kann auch dem Chef mal wiedersprechen. bzw. sollte man auch um zu zeigen, dass man auch Ahnung hat.

Ich korrigiere die SQL-Scripte meines Chefs wenn ich die zu grottig finde oder die Performanz nicht stimmt.

Gruß Jörg
Bitte warten ..
Ähnliche Inhalte
PHP
Abfrage SQL
gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

Datenbanken
Hilfe bei SQL Abfrage
gelöst Frage von e51bomagDatenbanken9 Kommentare

Habe einfach eine Denkblockade und würde mich über Hilfe bei einer Datenbankabfrage freuen. Die Abfrage lautet wie folgt: SELECT ...

Windows Server
SQL Abfrage automatisch exportieren
Frage von Andinistrator1Windows Server6 Kommentare

Hallo Zusammen, kurz und knapp: Ich habe eine SQL Abfrage. Diese soll automatisch, z.B. per Agend 1x/Nacht ausgeführt werden. ...

Datenbanken
Hilfe bei SQL-Abfrage
gelöst Frage von emeriksDatenbanken5 Kommentare

Hi, gegeben: MS SQL Server 2005 eine DB mit 3 Tabellen Tabelle "Objekte" 2 Spalten: ID, Name Tabelle "Eigenschaften" ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 23 StundenWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 1 TagHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Windows Netzwerk
WSUS4 und Windows 10 Updates automatisch installieren
Frage von sammy65Windows Netzwerk15 Kommentare

Hallo miteinander, ich habe mit einen neuen WSUS Server aufgesetzt Server 2016 darauf einen aktuellen WSUS. Grund, wir stellen ...

Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Hyper-V
Hyper-V mit altem XEON-Server. Was ist falsch?
Frage von LollipopHyper-V11 Kommentare

Hallo Bin etwas frustriert. Kleinbetrieb, ca. 15 PC's, 2 Stk. Server mit einigen virtuellen PC's für Fernwartung, VaultServer für ...

Windows Netzwerk
Backup über WAN
Frage von petereWindows Netzwerk11 Kommentare

Hallo, ich muss aus einem entfernten WAN (synchrone 1Gbit) Daten sichern. Dabei handelt es sich sowohl um wenige große ...