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

Frage Entwicklung Datenbanken

Mitglied: BadFsaadKl

BadFsaadKl (Level 1) - Jetzt verbinden

30.01.2013, aktualisiert 08:45 Uhr, 7081 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
Batch & Shell

Open Object Rexx: Eine mittlerweile fast vergessene Skriptsprache aus dem Mainframebereich

Information von Penny.Cilin vor 1 StundeBatch & Shell1 Kommentar

Ich kann mich noch sehr gut an diese Skriptsprache erinnern und nutze diese auch heute ab und an noch. ...

Humor (lol)

"gimme gimme gimme": Automatischer Test stolpert über Easter Egg im man-Tool

Information von Penny.Cilin vor 3 StundenHumor (lol)5 Kommentare

Interessant, was man so alles als Easter Egg implementiert. Ist schon wieder Ostern? "gimme gimme gimme": Automatischer Test stolpert ...

MikroTik RouterOS

Mikrotik - Lets Encrypt Zertifikate mit MetaROUTER Instanz auf dem Router erzeugen

Anleitung von colinardo vor 18 StundenMikroTik RouterOS8 Kommentare

Einleitung Folgende Anleitung ist aus der Lage heraus entstanden das ein Kunde auf seinem Mikrotik sein Hotspot Captive Portal ...

Sicherheit

Sicherheitslücke in HP-Druckern - Firmware-Updates stehen bereit

Information von BassFishFox vor 19 StundenSicherheit1 Kommentar

Ein weiterer Grund, dass Drucker keinerlei Verbindung nach "auswaerts" haben sollen. Unter Verwendung spezieller Malware können Angreifer aus der ...

Heiß diskutierte Inhalte
Windows Server
RDP macht Server schneller???
Frage von JaniDJWindows Server17 Kommentare

Hallo Community, wir betrieben seit geraumer Zeit diverse virtuelle Maschinen und Server mit Windows Server 2012. Leider haben wir ...

Windows 10
Windows 10 dunkler Bildschirm nach Umfallen
Frage von AkcentWindows 1015 Kommentare

Hallo, habe hier einen Windows 10 Rechner der von einem User umgefallen wurde (Beine übers Knie, an den PC ...

Linux
OpenSource Groupware
Frage von FA-jkaLinux13 Kommentare

Hallo, ich suche eine Groupware als Alternative zum Exchange. Wesentliche Aufgaben sind die Handhabung von E-Mails (persönliche und gemeinsam ...

Windows 10
Bitlocker nach Verschlüsselung nicht mehr aufrufbar!
gelöst Frage von alexlazaWindows 1013 Kommentare

Hallo, ich besitze ein HP ZBook 17 G4 mit einem Windows 10 Pro Betriebssystem. Bei diesem Problem handelt sich, ...