Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Per SQL (Oracle) Alle datensätze des letzten Monats filtern

Frage Entwicklung Datenbanken

Mitglied: thomas1972

thomas1972 (Level 1) - Jetzt verbinden

13.02.2015 um 11:50 Uhr, 3905 Aufrufe, 6 Kommentare

Hallo ich habe eine Tabelle welche ich abfragen möchte, diese soll mir aber nur die Werte des letzten Monats ausgeben.

Select * from testdate where Datum....

Leider muss ich hier passen.....

Mitglied: 114757
13.02.2015, aktualisiert um 12:03 Uhr
http://stackoverflow.com/questions/2369222/oracle-date-between-query
http://stackoverflow.com/questions/2188929/sql-server-select-all-items- ...

unget. etwa so:
SELECT *  
FROM testdate  
WHERE datepart(m,Datum) = datepart(m,dateadd(m,-1,getdate()))  
AND and datepart(yy,Datum) = datepart(yy,dateadd(m,-1,getdate()))
Gruß jodel32
Bitte warten ..
Mitglied: thomas1972
13.02.2015 um 12:47 Uhr
Danke für die Rückmeldung..
Er kommt mit dem Datepart an der Stelle <*> nicht weiter,
Fehler im SQL-Statement

DBD::Oracle::db prepare failed: ORA-00904: "DATEPART": invalid identifier
DBD ERROR: error possibly near <*> indicator at char 116 in 'SELECT * FROM testdate WHERE datepart(m,Datum) = datepart(m,dateadd(m,-1,getdate())) AND datepart(yy,Datum) = <*>datepart(yy,dateadd(m,-1,getdate()))'
Bitte warten ..
Mitglied: Biber
13.02.2015, aktualisiert um 16:43 Uhr
Moin thomas1972,

eine der 37449 Möglichkeiten unter Oracle:

01.
Select * from testdate 
02.
where trunc( datum, 'MM') = trunc(trunc(sysdate, 'MM') - 1, 'MM') 
03.
;
Zur Erläuterung:
Trunc(datum, 'MM') verkürzt/verallgemeinert ein Datumsfeld auf den Ersten des Monats (aus 13.02.2015 12:55 wird 01.02.2015 00:00)
Das würde also auch heute, am 13.2.2015, bei trunc(sysdate, 'MM') herauskommen.
Davon wird -1 = 1 Tag abgezogen -> ich lande beim Letzten des Vormonats, hier also auf dem 31.1.2015.
Auf den Letzten des Vormonats wiederum ein Trunc( UltimoVormonat), 'MM') --> ergibt den 1. des Vormonats (=1.1.2015)

Und damit kann ich das Trunc(datum) der Datensätze vergleichen.

Grüße
Biber

P.S. Das DatePart-Äquivalent unter Oracle wäre ein ... Extract (Month from Datum) , extract(year from Datum) ..

P.P.S. Okay, nach Gersens Kommentar: Ich habe "nur die Werte des letzten Monats" als "die Werte des Vormonats" verstanden, nicht als "die Werte der letzten 4 Wochen".
Bitte warten ..
Mitglied: Gersen
13.02.2015, aktualisiert um 13:07 Uhr
Hallo,

liest man den Teil
Zitat von thomas1972:
nur die Werte des letzten Monats
als Dauer (4 Wochen vor dem aktuellen Datum), wäre
SELECT * FROM testdate WHERE Datum >= (SYSDATE - 28);
vermutlich das Einfachste.

Gruß,
Gersen
Bitte warten ..
Mitglied: ukulele-7
13.02.2015 um 14:08 Uhr
Da steht auch ein <*> wo es nicht hingehört.
Bitte warten ..
Mitglied: Biber
13.02.2015, aktualisiert um 16:43 Uhr
Moin ukulele-7,

Da steht auch ein <*> wo es nicht hingehört.
Mag ja sein, aber Oracle kennt doch trotzdem weder getdate() noch datepart().

Dann ist es eher von nachrangiger Bedeutung, ob thomas1972 ein überflüssiges <*> weglässt oder zwei davon dazumogelt.

Bei einem SQLServer mag das anders aussehen.

Grüße
Biber
Bitte warten ..
Ähnliche Inhalte
Datenbanken
gelöst Access 2010 SQL Tabellen Datensätze einfügen (6)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Batch & Shell
Batch mit forfiles - Dateiendung filtern - Dateien löschen (1)

Frage von mschaedler1982 zum Thema Batch & Shell ...

Microsoft
gelöst Licensing Server SQL 2014 (7)

Frage von TECHGENE zum Thema Microsoft ...

Datenbanken
gelöst MS SQL Abfragen und Formulare in Webseite einbinden (3)

Frage von Machello zum Thema Datenbanken ...

Neue Wissensbeiträge
Batch & Shell

Batch als Dienst bei Systemstart ohne Anmeldung ausführen

(2)

Tipp von tralveller zum Thema Batch & Shell ...

Sicherheits-Tools

Sicherheitstest von Passwörtern für ganze DB-Tabellen

(1)

Tipp von gdconsult zum Thema Sicherheits-Tools ...

Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(9)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Heiß diskutierte Inhalte
Exchange Server
Exchange 2016 Standard Server 2012 R2 Hetzner Mail (36)

Frage von Datsspeed zum Thema Exchange Server ...

Windows 7
gelöst Lokales Adminprofil defekt (25)

Frage von Yannosch zum Thema Windows 7 ...

Windows 10
Windows Store Apps ohne Windows Store installieren (10)

Frage von keefien zum Thema Windows 10 ...

Internet Domänen
Nameserver ein Geist? (9)

Frage von zelamedia zum Thema Internet Domänen ...